Support for MySQL 8.0 and MySQL enterprise edition


I would just like to ask if MySQL 8.0 or MySQL EE are supported by Frappe, and if the are any long term plans to make Frappe compatible with MySQL 8/EE? Our team is considering purchasing an enterprise license however, based on conversations with oracle, there is a possibility that some things may not work as intended as Frappe was designed with MariaDB which has diverged from Oracle MySQL.

Any feedback on this is highly appreciated.

Thank you!

For ERPNext, there is no official support for any dB outside MariaDB.

Even PostgreSQL support is limited largely to the framework level (unless I’ve missed any recent major updates).

Any reason you want to use MySQL specifically?

Hi. I am also interested to know if Mariadb enterprise edition will work with Frappe/ERPNext. Am planning to build a custom app of Frappe and my client may require paid enterprise edition.


Our company is looking into purchasing a license for MySQL as we are dealing with a rapidly growing database. Currently backups & restores take hours. And we are expecting the load + data in our sever to increase in the future.

Would you know if MariaDB enterprise supported? We can also consider MariaDB Enterprise if its features/capabilities are similar to that of Mysql EE.

MariaDB has enterprise offerings too if you really need it. I’d recommend consulting with some DBA or Frappe dev first to analyze what’s the bottleneck.

Growing size is often just huge # of logs or email queue table which we resolved in v14 with log settings.


few years ago I was able to install ERPNext on AWS Aurora. For local development developers had access to Aurora for everyone to face same issues and resolve them. The team specifically required Aurora and were okay with delayed upgrades and restricted usage.

following patching was done at framework level in v13 (haven’t checked with latest version)

sed -i -e "s/\`name\` varchar(100) DEFAULT NULL,/\`name\` varchar(100),/g" /home/frappe/frappe-bench/apps/frappe/frappe/database/mariadb/framework_mariadb.sql;
sed -i -e "s/ROW_FORMAT=COMPRESSED/ROW_FORMAT=DYNAMIC/g" /home/frappe/frappe-bench/apps/frappe/frappe/database/mariadb/framework_mariadb.sql;
sed -i -e "s/ROW_FORMAT=COMPRESSED/ROW_FORMAT=DYNAMIC/g" /home/frappe/frappe-bench/apps/frappe/frappe/database/mariadb/;
sed -i -e "s/ROW_FORMAT=COMPRESSED/ROW_FORMAT=DYNAMIC/g" /home/frappe/frappe-bench/apps/frappe/frappe/database/mariadb/;

If you are okay with manual or auto test of your workflows with custom database then you can use it.

drawback is, you have to run your tests and patch the code as required on every upstream upgrade. It will not make sense if you need to be up to date with latest upstream code.

It may make sense if your other apps are already using custom db or you can only use product that was approved by some long bidding process which limit your choices.

Trade off you’ve to choose.

1 Like


Thanks for this. We’re also looking into mariadb enterprise and have already scheduled a call with someone from the Mariadb team. :blush:

This is noted. Thank you very much!