El otro día migré de MySQL a MariaDB. Fin de la entrada, no hay más que decir. No, es broma, en primer lugar veamos qué es MariaDB y luego el procedimiento que he seguido para migrar.
Qué es MariaDB
MariaDB es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL. Desarrollado por Michael Widenius (fundador de MySQL) y la comunidad de desarrolladores de software libre. Introduce dos motores de almacenamiento nuevos, uno llamado Aria -que reemplaza con ventajas a MyISAM- y otro llamado XtraDB -en sustitución de InnoDB. Tiene una alta compatibilidad con MySQL ya que posee las mismas órdenes, interfaces, APIs y bibliotecas, siendo su objetivo poder cambiar un servidor por otro directamente.
Por qué migrar?
Si os ponéis a buscar un poco por internet encontraréis miles de páginas web en las que os listarán cientos de puntos por los que es mejor MariaDB que MySQL y por los que recomiendan migrar. Efectivamente he leído muchas de esas páginas y entiendo que por las funciones que trae MariaDB es efectivamente más potente y más rápido que MySQL, aparte de que MySQL ahora pertenece a Oracle, y parece que no le está dando la atención que debería o que por lo menos MySQL se merece, y por eso MariaDB ha conseguido crecer y triunfar tanto en tan poco tiempo. Pero aparte de todo lo que se puede leer en internet, yo he querido migrar por una razón mucho más simple. Y es que MariaDB es una alternativa «drop-in», es decir, que se puede sustituir MySQL por MariaDB sin luego tener que reconfigurar nada, y todo seguirá funcionando de forma igual, dado que MariaDB está basado en MySQL y utiliza los mismos comandos, las mismas estructuras, sintaxis, etc. Y yo simplemente quería probar si era verdad que quitando MySQL y instalando MariaDB todo seguía funcionando sin problemas. Si veía que fallaba algo, podía volver atrás y seguir con MySQL.
Procedimiento
El procedimiento es realmente simple y no se tarda más de 5 minutos en sustituir MySQL por MariaDB y tenerlo todo funcionando sin problemas. En primer lugar paré mi servidor MySQL y mi servidor web (este último no es necesario pararlo, pero por costumbre y/o seguridad lo paré de todas formas):
service stop apache2 service stop mysql
A continuación hize una copia de seguridad de todas mis bases de datos, aunque supuestamente esto no es necesario, siempre es mejor ir por el lado seguro, no?
mysqldump -u root -p --all-databases > mysqlbackup.sql
El siguiente paso fue desinstalar MySQL:
sudo apt-get remove mysql-server sudo apt-get remove mysql-server-5.5 sudo apt-get remove mysql-server-core-5.5
Dado que MariaDB todavía no se encuentra en los repositorios, hay que añadirlos manualmente (en la página de descargas de MariaDB se puede elegir entre multitud de repositorios, no es necesario coger el mismo):
sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db sudo add-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntu quantal main'
Ahora instalamos MariaDB:
sudo apt-get update sudo apt-get install mariadb-server
Una vez instalamos revisamos si se ha instalado correctamente.
mysql --version mysql Ver 15.1 Distrib 5.5.32-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1
Arrancamos de nuevo el servidor web:
service apache2 start
Y revisamos que la página web o las páginas web funcionen correctamente. En mi caso todo funcionó sin problemas a la primera, incluso el phpMyAdmin funciona con MariaDB sin ningún problema. Además, como veo que todo funciona, no tengo necesidad de volver a MySQL.