MySQL and MariaDB are both popular relational database management systems (RDBMS) that share a common ancestry. MariaDB was originally created as a fork of MySQL and has since evolved into its own distinct database system with unique features and optimizations.
One of the common questions database administrators and developers face is whether they can upgrade from MySQL 8.x to MariaDB 10.x without major issues. While MariaDB aims to maintain compatibility with MySQL, there are important considerations and differences that you need to be aware of before making the switch.
Why Consider Upgrading to MariaDB?
There are several reasons why organizations choose to migrate from MySQL to MariaDB:
- Open Source Commitment: MariaDB is fully open-source and is actively developed by the community and its creators, whereas MySQL is controlled by Oracle.
- Performance Improvements: MariaDB includes optimizations for speed, efficiency, and scalability, particularly in complex queries and large-scale deployments.
- Additional Features: Some MariaDB features are not present in MySQL, such as alternative storage engines and advanced clustering capabilities.

Compatibility Issues When Upgrading
Although MariaDB strives to remain compatible with MySQL, there are certain aspects where differences between the two databases become evident, particularly with MySQL 8.x and MariaDB 10.x.
Key Compatibility Differences:
- Authentication Plugins: MySQL 8.x uses the more secure ‘caching_sha2_password’ plugin by default, whereas MariaDB does not support it. You may need to revert to ‘mysql_native_password’ authentication before upgrading.
- Data Dictionary: MySQL 8.x has an integrated data dictionary, whereas MariaDB still relies on traditional FRM files. This can cause incompatibility issues when migrating.
- JSON & System Tables: MySQL 8.x has enhancements in JSON functions and system tables that MariaDB may not fully support.
Because of these differences, a direct in-place upgrade is not recommended. Instead, you should perform a structured migration.
Steps to Upgrade from MySQL 8.x to MariaDB 10.x
Follow these steps to ensure a smooth transition when switching from MySQL 8.x to MariaDB 10.x:
Step 1: Backup Your Data
Before making any changes, create a complete backup of your MySQL database to prevent data loss in case something goes wrong.
mysqldump -u root -p --all-databases > backup.sql
Step 2: Uninstall MySQL
To prevent conflicts, you should remove MySQL 8.x from your system.
sudo systemctl stop mysql
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /etc/mysql /var/lib/mysql
Step 3: Install MariaDB
Next, install MariaDB 10.x from the official repositories:
sudo apt update
sudo apt install mariadb-server

Step 4: Restore Your Backup
Once MariaDB is installed, restore your data from the backup you created earlier.
mysql -u root -p < backup.sql
Step 5: Verify Data Integrity
After restoring your database, check for any issues by running:
mysqlcheck -u root -p --all-databases
If any issues arise, you may need to manually adjust configurations or reimport specific tables.
Post-Upgrade Considerations
Once you have completed the migration, it’s essential to review your applications and database performance.
- Test Application Compatibility: Ensure that your application works properly with MariaDB and that there are no unexpected errors.
- Optimize Performance: MariaDB tuning may differ from MySQL, so configure settings such as buffer sizes and caching accordingly.
- Monitor Logs: Keep an eye on MariaDB logs to identify any inconsistencies or errors.
Final Thoughts
Upgrading from MySQL 8.x to MariaDB 10.x can be beneficial due to performance improvements and a fully open-source model. However, due to architectural differences in MySQL 8.x, it is not always a straightforward upgrade.
If you follow the correct migration steps—backing up data, uninstalling MySQL, installing MariaDB, and restoring your database—you should be able to avoid major issues. However, testing thoroughly after the migration is crucial to ensure stability and performance.

Would you consider making the switch from MySQL 8.x to MariaDB 10.x? Carefully evaluate the pros and cons based on your specific use case before proceeding.