Replace MySQL with MariaDB
MariaDB, a community developed fork of MySQL, will be the default implementation of MySQL in Fedora 19.
- Targeted release: Fedora 19
- Last updated: 2013-01-04
- Percentage of completion: 40%
MariaDB is a drop-in replacement for MySQL (fork), that tries to preserve API/ABI compatibility with MySQL and adds some new features. Recent changes in MySQL development made by Oracle indicate moving MySQL project to be more closed (e.g. CVE fixes or new regression tests are not publish any more).
MariaDB has active community with true open-source attitude instead. We would like to replace MySQL with MariaDB in early development cycle for Fedora 19. MySQL will be packaged in parallel at least for one release, but MariaDB will be the default.
Benefit to Fedora
Fedora will have true open-source MySQL implementation and won't depend on what Oracle decides to do with MySQL in the future. Compared to MySQL, MariaDB is faster in some cases, it includes some new engines and features, the existing engines and features are enhanced and still compatible.
TODO: will we depend on binary compatibility or do we change soname?
Admins shouldn't notice any change.
How To Test
We need to test switch MySQL -> MariaDB on some large production databases. We will have some larger database and MySQL will be running. At this point updating to MariaDB will be done and should process cleanly. After RPM update, database will be checked from database POV and users POV. Dump of the database should be the same and users shouldn't notice any change. We will need to test also connectors and applications using mysql client library.
- There are no end-user visible changes, except the database being faster and more relieable.
- Packages structure and their contents are similar to MySQL and the changes are usually just some new files.
- Dependencies are unchanged from MySQL.
- Since we'll still package MySQL in parallel, we will be able to switch back to MySQL if necessary. Proper setting of Provides/Obsoletes should be enough to do so.
Main differences between MariaDB and MySQL are listed in https://kb.askmonty.org/en/mariadb-versus-mysql-features/
Compatibility between MariaDB and MySQL is discussed in https://kb.askmonty.org/en/mariadb-versus-mysql-compatibility/
Package Review is available in https://bugzilla.redhat.com/show_bug.cgi?id=875150
We need to note this change in release notes.