
Quien administra servidores acaba instalando MariaDB tarde o temprano. Suele ser porque quiere dejar MySQL detrás (el fork es totalmente compatible, rinde mejor y trae una licencia más abierta) o simplemente porque el stack lo pide. La compatibilidad con MySQL es casi total: puedes migrar bases de datos de WordPress, aplicaciones PHP o cualquier setup LAMP sin reescribir una línea de código. En esta guía veremos la preparación del servidor, la instalación limpia de MariaDB y la configuración de seguridad inicial, con especial atención a la migración desde una instalación existente de MySQL, que es donde más gente se tropieza: pérdida de datos, conflictos de paquetes, cosas así.
Requisitos previos y preparación del servidor Ubuntu
Antes de tocar nada, prepara el terreno. Lo digo por experiencia: la mayoría de migraciones fallidas desde MySQL se remontan a esta fase, y es justo la que todos se saltan. Necesitas un servidor con Ubuntu 20.04, 22.04 o 24.04, acceso root o un usuario con sudo, y al menos 1 GB de RAM para trabajar con cierta holgura.
Empieza actualizando el sistema e instalando las dependencias básicas:
- Actualiza repositorios y paquetes: sudo apt update && sudo apt upgrade -y
- Verifica tu versión de Ubuntu con lsb_release -a. Te hará falta para elegir la versión correcta de MariaDB.
- Comprueba si ya hay MySQL instalado: dpkg -l | grep -i mysql. ¿Aparece? Entonces toca preparar la migración.
Si ese MySQL está en producción, haz un volcado completo de seguridad antes de desinstalarlo. Y aquí va un aviso que conviene tomarse en serio: el paquete mariadb-server en Ubuntu sustituye directamente a mysql-server, y apt podría desinstalarlo automáticamente durante el proceso. Sin backup previo, la cosa se pone fea.
Volcado de respaldo completo: mysqldump –all-databases –routines –events -u root -p > backup_completo.sql. Guarda ese archivo fuera del servidor (a tu máquina local por SCP, por ejemplo) y verifica su integridad antes de seguir. Un backup sin verificar no es un backup. Es un archivo con esperanzas.
Anota también la versión actual de MySQL con mysql –version. MariaDB 10.11 o superior es compatible con MySQL 5.7 y 8.0 en la mayoría de los casos, pero ojo: si usas características muy específicas de MySQL 8.0 (ciertos plugins de autenticación, por ejemplo), revisa la tabla de compatibilidad oficial antes de continuar. Mejor cinco minutos de lectura que una madrugada restaurando datos.
Cómo instalar MariaDB en Ubuntu paso a paso
Buenas noticias aquí: Ubuntu trae MariaDB en sus repositorios oficiales, así que la instalación se simplifica bastante. Para la mayoría de usuarios esta es la vía recomendada, por estabilidad y por recibir actualizaciones de seguridad automáticamente.
Servidor y cliente, en un solo comando:
sudo apt install mariadb-server mariadb-client -y
¿Quieres una versión más reciente que la de los repos de Ubuntu? Entonces usa el repositorio oficial de MariaDB mediante el script mariadb_repo_setup, que configura las fuentes apt automáticamente. Tras instalar, comprueba que el servicio está activo:
- sudo systemctl status mariadb: debe mostrar «active (running)».
- sudo systemctl enable mariadb: arranca el servicio al reiniciar.
- mariadb –version: confirma qué versión tienes.
Migración desde MySQL existente
Si venías de MySQL, lo más probable es que apt ya haya sustituido los paquetes y que los directorios de datos en /var/lib/mysql se hayan conservado intactos. En ese caso ejecuta sudo mariadb-upgrade -u root -p para actualizar las tablas del sistema a la estructura de MariaDB. ¿Partiste de cero? Restaura tu volcado con mariadb -u root -p < backup_completo.sql y comprueba que todo aparece con SHOW DATABASES;. Todas las bases. No te conformes con ver tres y asumir que el resto está.
Configuración inicial segura de MariaDB (mysql_secure_installation)
Una instalación recién hecha queda expuesta, con valores por defecto que en producción no te convienen nada. El script incluido de serie lo corrige en un par de minutos:
sudo mysql_secure_installation
El asistente te hará varias preguntas. Para un servidor de producción, estas son las respuestas recomendadas:
- Switch to unix_socket authentication: «Y» si accedes solo por consola local. Es el método más seguro en Ubuntu.
- Set root password: define una contraseña robusta aunque uses autenticación unix_socket. Herramientas externas te lo agradecerán.
- Remove anonymous users: «Y», siempre. Los usuarios anónimos son un riesgo que no aporta nada.
- Disallow root login remotely: «Y», salvo que tengas una razón muy justificada. Y normalmente no la tienes.
- Remove test database: «Y». La base test no sirve de nada y concede permisos amplios.
- Reload privilege tables: «Y» para aplicar los cambios al instante.
Como toque final, edita /etc/mysql/mariadb.conf.d/50-server.cnf para ajustar parámetros según tu hardware: innodb_buffer_pool_size (en servidores dedicados, algo así como el 50-60% de la RAM) y bind-address si necesitas acceso remoto controlado. Reinicia con sudo systemctl restart mariadb y ya lo tienes: un servidor MariaDB operativo, seguro y listo para servir bases de datos en Ubuntu.
Y si en algún punto de la migración aparecen errores de compatibilidad, o el servicio no arranca tras sustituir MySQL, en RedServicio (redservicio.net) puedes encontrar ayuda profesional para resolver cualquier problema técnico con MariaDB y servidores Ubuntu.
Migrar bases de datos de MySQL a MariaDB sin perder datos
¿Vienes de una instalación previa de MySQL? Entonces lo primero es un respaldo completo. Sí, aunque MariaDB sea compatible a nivel de estructura. Nunca migres sin copia de seguridad. Nunca.
- Exporta todas las bases de datos: ejecuta mysqldump -u root -p –all-databases –routines –events > backup_completo.sql. Las opciones –routines y –events incluyen los procedimientos almacenados y los eventos programados, que son justo lo que todo el mundo olvida.
- Detén el servicio MySQL: sudo systemctl stop mysql y, para que no te vuelva a arrancar solo, desactívalo con sudo systemctl disable mysql.
- Elimina los paquetes de MySQL (los binarios chocan con MariaDB): sudo apt remove –purge mysql-server mysql-client mysql-common y después sudo apt autoremove.
- Instala MariaDB siguiendo los pasos ya descritos y, cuando termine, importa el volcado: mysql -u root -p < backup_completo.sql.
- Ejecuta mysql_upgrade (o mariadb-upgrade en versiones recientes) para actualizar las tablas del sistema a la nueva versión.
Ojo con un detalle. Si tus tablas usan InnoDB, no copies directamente los archivos ibdata1 ni el directorio de datos entre versiones muy distintas. Me he encontrado más de un caso de tablas irrecuperables por ahí. El volcado lógico con mysqldump es, siglos de diferencia, el método más seguro y portable.
Verificación post-migración y errores comunes
Datos importados. ¿Y ahora qué? Antes de dar la migración por buena, pasa estas comprobaciones:
- Conexión de aplicaciones: comprueba que WordPress u otras aplicaciones conectan bien. Usuario y contraseña deberían mantenerse, ya que importaste la tabla mysql.user o recreaste los usuarios a mano.
- Integridad de tablas: mysqlcheck -u root -p –all-databases –check te dirá si hay tablas corruptas.
- Cotejamiento (collation): ¿caracteres extraños por todas partes? Revisa que utf8mb4 esté configurado tanto en el servidor como en la conexión de la aplicación.
Y esto son los errores que más se repiten, con su solución:
- El servicio no arranca tras la instalación: mira sudo journalctl -u mariadb -e. Casi siempre es culpa de restos de configuración de MySQL en /etc/mysql. Purga los paquetes antiguos e instala MariaDB de nuevo.
- Error «Access denied» para root: en MariaDB 10.4+ root usa autenticación unix_socket por defecto. Conéctate con sudo mariadb sin contraseña, o cambia el método con ALTER USER ‘root’@’localhost’ IDENTIFIED VIA mysql_native_password USING PASSWORD(‘tu_clave’);
- Tablas que no aparecen tras la importación: comprueba que el volcado se creó con todas las bases de datos y que la importación no se cortó a medias. Si hace falta, reimporta con mysql –force, revisando la salida (ahí salen los errores).
- Rendimiento degradado: ajusta innodb_buffer_pool_size en el fichero de configuración. El valor por defecto es demasiado bajo para servidores con RAM de sobra, y es la causa más común de queja.
Conclusiones: MariaDB como reemplazo directo de MySQL
Instalar MariaDB en Ubuntu es sencillo. Bien ejecutado, el proceso permite reemplazar MySQL sin perder ni un solo registro. La compatibilidad a nivel de protocolo y sintaxis hace que WordPress, las aplicaciones PHP y casi cualquier software de servidor funcione sin tocar una línea de código. A cambio te llevas un proyecto comunitario más abierto, desarrollo más rápido y un rendimiento que, en muchas cargas de trabajo, supera al de MySQL.
Los tres pilares de una migración sin sustos: backup completo con mysqldump, eliminación limpia de los paquetes de MySQL antes de instalar, y una verificación minuciosa con mysqlcheck y pruebas de conexión. Con la configuración de seguridad y los ajustes de rendimiento ya aplicados, tu servidor Ubuntu queda listo para servir bases de datos con estabilidad.
¿Conflictos de paquetes, errores de autenticación, importaciones problemáticas? Si durante el proceso algo se tuerce, en RedServicio (redservicio.net) puedes encontrar ayuda profesional para resolver cualquier incidencia con MariaDB, MySQL y la administración de servidores Ubuntu.

