Instalar MariaDB en Linux: usuarios y respaldo

Índice de contenido
  1. Instala desde el repositorio elegido
  2. Entiende cómo entra el administrador
  3. Crea una base y una cuenta para la aplicación
  4. Limita la conectividad
  5. Genera un respaldo y restaura aparte
  6. Rendimiento y compatibilidad con criterio
  7. Preguntas frecuentes
    1. ¿Puedo usar root en la aplicación?
    2. ¿Debo instalar siempre la versión más reciente de MariaDB?
    3. ¿Un archivo SQL que ocupa espacio demuestra que el respaldo sirve?
  8. En pocas palabras
  9. Conclusión
  10. Fuentes y documentación

MariaDB es un sistema de bases de datos relacional que comparte origen y muchas interfaces con MySQL. Esa cercanía facilita ciertos proyectos y migraciones, pero no garantiza que todas las versiones, consultas, collations y herramientas sean intercambiables.

El recorrido siguiente utiliza los repositorios de una versión de Ubuntu o Debian con soporte. Mantener ese origen simplifica las actualizaciones del sistema. Si necesitas otra rama, revisa primero el soporte del proveedor, la distribución y el procedimiento de actualización.

Instala desde el repositorio elegido

sudo apt update
apt-cache policy mariadb-server
sudo apt install mariadb-server mariadb-client
sudo systemctl enable --now mariadb
systemctl is-active mariadb
mariadb --version

apt-cache permite identificar la versión candidata y de dónde llegará. Evita mezclar paquetes MySQL y MariaDB o añadir repositorios sobre una instalación existente sin un plan de migración.

Conserva una copia de la configuración antes de modificarla. El servicio puede funcionar con valores iniciales adecuados para una práctica, sin aplicar ajustes de rendimiento todavía.

Entiende cómo entra el administrador

En muchas instalaciones de Debian y Ubuntu, el administrador de la base puede autenticarse mediante el usuario root del sistema y el socket local:

sudo mariadb --protocol=socket

Dentro del cliente, identifica versión y cuenta efectiva:

SELECT VERSION(), CURRENT_USER();
SHOW CREATE USER 'root'@'localhost';

Que este acceso no pida una segunda contraseña no significa que cualquiera pueda entrar como administrador. Depende de los permisos del sistema y del mecanismo configurado.

mariadb-secure-installation puede ayudar a revisar cuentas anónimas, acceso remoto de root y la base de prueba. Sus preguntas varían por versión. Lee cada cambio y evita sustituir una autenticación por socket que ya responde a tu política solo para seguir una receta.

Crea una base y una cuenta para la aplicación

En el cliente administrativo, usa una contraseña única en lugar del marcador:

CREATE DATABASE proyecto
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

CREATE USER 'app_proyecto'@'localhost'
  IDENTIFIED BY 'SUSTITUYE_POR_UNA_CLAVE_UNICA';

GRANT SELECT, INSERT, UPDATE, DELETE
  ON proyecto.* TO 'app_proyecto'@'localhost';

USE proyecto;
CREATE TABLE comprobacion (
  id INT PRIMARY KEY,
  mensaje VARCHAR(100) NOT NULL
);
SHOW GRANTS FOR 'app_proyecto'@'localhost';

Estos permisos cubren operaciones de datos en una aplicación sencilla. Un instalador que crea tablas requiere privilegios distintos; utiliza una identidad de despliegue y retira sus permisos cuando termine. CREATE USER y GRANT no necesitan un FLUSH PRIVILEGES posterior.

Sal del administrador y prueba la cuenta:

mariadb --protocol=socket -u app_proyecto -p proyecto
INSERT INTO comprobacion VALUES (1, 'Conexión correcta');
SELECT * FROM comprobacion;

La contraseña se introduce cuando la solicita el cliente, sin añadirla como argumento de shell.

Limita la conectividad

Si la aplicación vive en la misma máquina, usa el socket o una escucha local según su conector. Comprueba la configuración efectiva:

sudo ss -ltnp '( sport = :3306 )'

No abras 3306 a internet para resolver un error de autenticación. Una conexión remota exige reglas de red, transporte protegido y una cuenta cuyo componente Host corresponda al origen autorizado. localhost y una conexión TCP no deben tratarse como equivalentes sin revisar el comportamiento del conector.

Genera un respaldo y restaura aparte

Para la tabla InnoDB de esta práctica, el administrador local puede exportar así desde una shell Bash:

umask 077
sudo mariadb-dump --single-transaction proyecto > proyecto.sql
test -s proyecto.sql

La opción permite una vista consistente de tablas transaccionales, pero no resuelve cambios DDL concurrentes ni todas las tablas no transaccionales. Una copia completa del servicio también debe contemplar usuarios, rutinas, eventos y configuración según el objetivo de recuperación.

Crea un destino de prueba vacío con un nombre distinto y restaura allí:

sudo mariadb -e "CREATE DATABASE proyecto_restaurado CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"
sudo mariadb proyecto_restaurado < proyecto.sql
sudo mariadb proyecto_restaurado -e "SELECT * FROM comprobacion"

El archivo no incluye CREATE DATABASE porque se exportó una base sin --databases. No sobrescribas producción para comprobarlo. Compara contenido y comportamiento de la aplicación, además de comprobar que el comando terminó correctamente.

Rendimiento y compatibilidad con criterio

Antes de aumentar buffers o conexiones, mide memoria disponible, consultas y carga. Un servidor que también ejecuta PHP necesita reservar recursos para esos procesos. No existe un porcentaje de RAM que sirva para todos los equipos.

Para migrar desde MySQL, prepara una restauración aislada y pruebas de consultas, caracteres, autenticación y funciones usadas por la aplicación. El hecho de que un cliente logre conectarse no demuestra compatibilidad completa.

Preguntas frecuentes

¿Puedo usar root en la aplicación?

Es preferible una cuenta específica con los permisos necesarios. Separarla facilita revocar acceso y reduce el alcance de un fallo de la aplicación.

¿Debo instalar siempre la versión más reciente de MariaDB?

Elige una rama mantenida que sea compatible con tu sistema y aplicación. Cambiar de repositorio requiere revisar soporte y actualización, no solo comparar números.

¿Un archivo SQL que ocupa espacio demuestra que el respaldo sirve?

No. Comprueba el estado de salida del exportador y realiza una restauración en un destino aislado, con consultas y validaciones del contenido esperado.

En pocas palabras

MariaDB requiere algo más que instalar un paquete: autenticación entendida, privilegios ajustados, conectividad prevista y una copia restaurable. La compatibilidad con MySQL debe comprobarse en cada aplicación.

Conclusión

Empieza con una base de práctica y un usuario limitado. Comprueba consultas y restauración antes de migrar datos reales o modificar memoria, conexiones y métodos de autenticación.

Para continuar, revisa Cómo instalar Ubuntu desde una USB: paso a paso y Cómo instalar Docker en Ubuntu 24.04: guía práctica paso a paso.

Fuentes y documentación

Documentación de mariadb.com.

Documentación de mariadb.com.

Documentación de mariadb.com.

Subir

Descubre más de Sergio Caballero

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Continuar leyendo