Support for MySQL or Percona

This question hasn’t been raised in several years. Does ERPNext support MySQL or Percona? Unfortunately MariaDB does not have a stable kubernetes operator, so I am not able to use MariaDB.

If MySQL is not supported, what specifically is not supported, and can those features be disabled or refactored?

I suspect it could, with some light modifications.

I don’t believe the Frappe Framework is leveraging any MariaDB-specific features, that are not available also in MySQL. Most of the database calls are ordinary, classic SQL: creating and altering tables, CRUD, adding indexes and constraints.

However. The framework -does- examine the MariaDB semantic versions (e.g. 10.9.2). Which are very different than the MySQL semantic versions. You would probably have to edit/patch the framework’s database code, to prevent it from throwing errors based on versions discovered.

Most of that code is contained in this module of the framework:
frappe/frappe/database/mariadb at develop · frappe/frappe · GitHub

Another approach is to create a new site with MariaDB, backup database, restore db on MySQL. This worked on Azure MariaDB.

Connect to MySQL instead of MariaDB once db is restored.

You’ll need to override autoname method of Contact class from frappe. It is using mariadb specific query.

Wherever you find such queries you’ll need to patch the code.