- 1 1. Introducción
- 2 2. Preparación necesaria
- 3 3. Instalación de MariaDB
- 4 4. Configuración inicial y fortalecimiento de la seguridad
- 5 5. Operaciones básicas
- 6 6. Solución de problemas
- 7 7. Preguntas frecuentes (FAQ)
- 7.1 Q1: ¿Cuál es la diferencia entre MariaDB y MySQL?
- 7.2 Q2: ¿Cómo instalar una versión específica de MariaDB?
- 7.3 Q3: No entiendo el contenido de la configuración de mysql_secure_installation.
- 7.4 Q4: ¿Por qué configurar el juego de caracteres en utf8mb4?
- 7.5 Q5: ¿Cómo mejorar el rendimiento de MariaDB?
- 7.6 Q6: ¿Hay alguna forma de automatizar las copias de seguridad de MariaDB?
- 8 8. Resumen y próximos pasos
1. Introducción
MariaDB es un sistema de gestión de bases de datos relacionales de código abierto (RDBMS) que nació como un fork (derivado) de MySQL. En los últimos años, MariaDB ha sido ampliamente adoptado en proyectos que utilizan bases de datos, y es apoyado por muchas empresas y desarrolladores debido a su rendimiento y confiabilidad.
Características y ventajas de MariaDB
La mayor característica de MariaDB es que mantiene una alta compatibilidad con MySQL mientras ha evolucionado de manera independiente. A continuación, se enumeran las principales ventajas de MariaDB.
- Licencia de código abierto: MariaDB se desarrolla bajo la GPL (GNU General Public License) y es de uso gratuito.
- Alta compatibilidad: Al migrar datos o aplicaciones usados en MySQL a MariaDB, no es necesario realizar modificaciones significativas.
- Seguridad mejorada: MariaDB tiene configuraciones de seguridad reforzadas por defecto, lo que permite construir entornos altamente seguros.
- Escalabilidad: Está optimizado para manejar grandes volúmenes de datos y sistemas de alta carga.
Ventajas de usar MariaDB en Ubuntu
Ubuntu es una distribución de Linux utilizada en muchos entornos de servidores. Al usar MariaDB en Ubuntu, se obtienen las siguientes ventajas.
- Estabilidad: Las versiones LTS (Long Term Support) de Ubuntu garantizan estabilidad y actualizaciones de seguridad a largo plazo.
- Facilidad en la gestión de paquetes: Usando el comando
apt
, la instalación y actualización de MariaDB es simple. - Amplio soporte: La combinación de Ubuntu y MariaDB es utilizada por muchos desarrolladores, por lo que es fácil encontrar información para resolver problemas en documentación en línea y foros.
Objetivo del artículo
En este artículo, explicaremos en detalle cómo instalar MariaDB en un entorno Ubuntu, junto con configuraciones básicas, métodos de operación y solución de problemas. El objetivo es que lectores de todos los niveles, desde principiantes hasta intermedios, puedan utilizar MariaDB de manera efectiva a través de esta guía.
2. Preparación necesaria
Antes de instalar MariaDB en Ubuntu, preparar lo necesario permite avanzar en el trabajo de manera fluida. En esta sección, se explica en detalle el entorno recomendado, la verificación de paquetes dependientes y el método de actualización de repositorios.
Entorno recomendado
Para que MariaDB funcione de manera eficiente, se recomienda el siguiente entorno.
- Versión de Ubuntu:
- Se recomienda utilizar versiones LTS compatibles (20.04, 22.04, etc.).
- Requisitos de hardware:
- Memoria: Mínimo 512 MB (recomendado 2 GB o más)
- Capacidad de disco: Más de 500 MB de espacio libre (se necesita más según la cantidad de datos)
- CPU: Procesador de 1 GHz o superior (se recomienda múltiples núcleos)
Al cumplir con estos requisitos, se puede operar MariaDB de manera estable.
Paquetes dependientes y requisitos del sistema
Para la instalación de MariaDB, se necesitan varios paquetes dependientes. Ejecute los siguientes comandos para verificar previamente las dependencias e instalar los paquetes necesarios.
sudo apt update
sudo apt install -y software-properties-common gnupg
De esta manera, se podrá agregar repositorios y gestionar claves GPG. Además, si se utiliza curl
o wget
, es conveniente instalarlos también.
sudo apt install -y curl wget
Actualización de repositorios
Para obtener la información de paquetes más reciente, primero actualice los repositorios del sistema. Ejecute el siguiente comando.
sudo apt update
sudo apt upgrade -y
apt update
: Obtiene la lista de paquetes más reciente de los repositorios actuales.apt upgrade
: Actualiza los paquetes instalados en el sistema a la versión más reciente.
Verificación de conexión SSH (en caso de servidor remoto)
Si se instala MariaDB en un servidor remoto, verifique previamente que la conexión SSH sea estable. Puede confirmar la conexión de la siguiente manera.
ssh nombre_de_usuario@dirección_IP_del_servidor
Para evitar errores de configuración en entornos remotos, preste atención para que la conexión no se corte durante el proceso de instalación.
3. Instalación de MariaDB
Para instalar MariaDB en Ubuntu, hay métodos que utilizan el repositorio estándar o el repositorio oficial. Aquí explicamos detalladamente los pasos para cada uno.
Instalación desde el repositorio estándar
MariaDB incluido en el repositorio estándar de Ubuntu es una versión que prioriza la estabilidad. Instálalo siguiendo los pasos a continuación.
Pasos
- Actualiza el repositorio.
sudo apt update
- Instala MariaDB.
sudo apt install -y mariadb-server mariadb-client
- Después de completar la instalación, verifica el estado del servicio de MariaDB.
sudo systemctl status mariadb
- Si el servicio de MariaDB no se inicia automáticamente, inícialo manualmente con el siguiente comando.
sudo systemctl start mariadb
- Configura el servicio para que se inicie automáticamente.
sudo systemctl enable mariadb
Ventajas
- Al usar el repositorio estándar, es más fácil recibir soporte oficial de Ubuntu.
- Es posible instalar con pasos simples.
Instalación utilizando el repositorio oficial
Si deseas instalar la versión más reciente de MariaDB, utiliza el repositorio oficial. Con este método, puedes aprovechar funciones más nuevas y mejoras de rendimiento.
Pasos
- Agrega el repositorio oficial de MariaDB.
sudo apt install -y software-properties-common
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.aarnet.edu.au/pub/mariadb/repo/10.6/ubuntu focal main'
- Agrega la clave GPG del repositorio.
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
- Actualiza la lista de paquetes.
sudo apt update
- Instala MariaDB.
sudo apt install -y mariadb-server mariadb-client
- Verifica el estado del servicio e inícialo.
sudo systemctl status mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb
Puntos de atención
- Al usar el repositorio oficial, puede haber conflictos con el repositorio estándar de Ubuntu, por lo que si ocurre un error durante la instalación, elimina los paquetes en conflicto.
Confirmación después de la instalación
Una vez completada la instalación de MariaDB, realiza la verificación de funcionamiento con los siguientes comandos.
Verificación de versión
mysql --version
Conexión a MariaDB
sudo mysql
Si puedes conectarte correctamente a la consola de MariaDB, la instalación ha sido exitosa.
4. Configuración inicial y fortalecimiento de la seguridad
Después de instalar MariaDB, es necesario fortalecer la seguridad y realizar la configuración básica. En esta sección, se explican en detalle la configuración inicial y los procedimientos recomendados para el fortalecimiento de la seguridad.
Ejecución de mysql_secure_installation
Inmediatamente después de instalar MariaDB, las configuraciones predeterminadas representan un alto riesgo de seguridad. Ejecute el siguiente comando para realizar una configuración de seguridad simple.
Ejecución del comando
sudo mysql_secure_installation
Explicación de cada indicación
- Ingreso de la contraseña root actual
- En el caso inicial, ya que no está configurada, presione la tecla Enter.
- Configuración de la contraseña root
- Configure una contraseña fuerte. Ejemplo: longitud de 12 caracteres o más, combinando alfanuméricos y símbolos.
- Eliminación de usuarios anónimos
- Recomendado:
Y
(elimina los usuarios anónimos)
- Desactivación de la conexión remota
- Recomendado:
Y
(desactiva el inicio de sesión remoto por el usuario root)
- Eliminación de la base de datos de prueba
- Recomendado:
Y
(elimina la base de datos predeterminada innecesaria)
- Recarga de la tabla de privilegios
- Recomendado:
Y
(refleja inmediatamente los cambios de configuración)
Con esto, se completa la configuración básica de seguridad.
Configuración del plugin de autenticación
En MariaDB, por defecto, se utiliza el plugin unix_socket
para la autenticación del usuario root. Esta configuración es conveniente, pero puede causar problemas al conectarse desde otras herramientas o scripts. Cambie el método de autenticación según sea necesario.
Confirmar el método de autenticación actual
sudo mysql -e "SELECT user, host, plugin FROM mysql.user;"
Cambio del método de autenticación (ejemplo: cambio a mysql_native_password
)
- Conéctese a la consola de MariaDB.
sudo mysql
- Cambie el plugin.
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'nueva_contraseña';
FLUSH PRIVILEGES;
- Confirme el cambio.
SELECT user, host, plugin FROM mysql.user;
Configuración de codificación de caracteres
Al configurar adecuadamente la codificación de caracteres de la base de datos, se puede prevenir la corrupción de caracteres y las inconsistencias de datos. En general, se recomienda usar utf8mb4
.
Método de configuración
- Edite el archivo de configuración.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
- Agregue o edite las siguientes líneas.
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
- Reinicie MariaDB.
sudo systemctl restart mariadb
- Confirme la configuración.
SHOW VARIABLES LIKE 'character_set%';
Configuración de la política de contraseñas
Para mantener una seguridad sólida, se recomienda configurar la política de contraseñas.
Procedimiento de configuración
- Habilite el plugin
validate_password
.
sudo mysql -e "INSTALL PLUGIN validate_password SONAME 'validate_password.so';"
- Confirme o cambie la política de contraseñas.
SHOW VARIABLES LIKE 'validate_password%';
SET GLOBAL validate_password.length = 12;
SET GLOBAL validate_password.mixed_case_count = 1;
SET GLOBAL validate_password.number_count = 1;
SET GLOBAL validate_password.special_char_count = 1;
5. Operaciones básicas
Después de instalar MariaDB y fortalecer la configuración inicial y la seguridad, aprendamos los métodos de operación básicos. En esta sección, se explica la gestión del servicio MariaDB, la creación de bases de datos, la configuración de usuarios, las copias de seguridad y la restauración.
Gestión del servicio MariaDB
A continuación, se muestran los comandos básicos para operar el servicio MariaDB.
Inicio del servicio
Para iniciar el servicio MariaDB, ejecute el siguiente comando.
sudo systemctl start mariadb
Parada del servicio
Para detener el servicio, utilice el siguiente comando.
sudo systemctl stop mariadb
Reinicio del servicio
Si necesita reiniciar MariaDB después de cambiar la configuración, ejecute lo siguiente.
sudo systemctl restart mariadb
Verificación del estado del servicio
Para confirmar si MariaDB está funcionando correctamente, ejecute el siguiente comando.
sudo systemctl status mariadb
Creación de bases de datos
Para crear una base de datos, conéctese a la consola de MariaDB.
Conexión a la consola
Conéctese a MariaDB con el siguiente comando.
sudo mysql
Creación de la base de datos
Utilice el comando CREATE DATABASE
para crear una nueva base de datos.
CREATE DATABASE sample_db;
Confirmación de la base de datos creada
Puede verificar la lista de bases de datos con el siguiente comando.
SHOW DATABASES;
Creación de usuarios y configuración de permisos
En MariaDB, puede crear un nuevo usuario y otorgar permisos para una base de datos específica.
Creación del usuario
Cree un nuevo usuario con el siguiente comando.
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password123';
Otorgamiento de permisos
Otorgue todos los permisos para una base de datos específica al usuario creado.
GRANT ALL PRIVILEGES ON sample_db.* TO 'new_user'@'localhost';
Después de otorgar los permisos, es necesario recargarlos.
FLUSH PRIVILEGES;
Confirmación de usuarios y permisos
Para verificar los usuarios actuales y sus permisos, utilice el siguiente comando.
SELECT user, host FROM mysql.user;
SHOW GRANTS FOR 'new_user'@'localhost';
Copias de seguridad y restauración
En MariaDB, es importante realizar copias de seguridad periódicas para proteger los datos.
Creación de la copia de seguridad
Utilice el comando mysqldump
para hacer una copia de seguridad de la base de datos.
mysqldump -u root -p sample_db > sample_db_backup.sql
Restauración de la copia de seguridad
Restaure la base de datos utilizando el archivo de copia de seguridad.
mysql -u root -p sample_db < sample_db_backup.sql
6. Solución de problemas
Al usar MariaDB, pueden ocurrir errores o problemas durante la instalación, configuración o operación. En esta sección, se explican los problemas comunes y sus soluciones.
Si MariaDB no se inicia
Síntomas
Al intentar iniciar MariaDB, ocurre un error y el servicio no puede iniciarse.
Solución
- Verificar el estado del servicio
sudo systemctl status mariadb
Si el estado se muestra como «failed», verifique el mensaje de error.
- Verificar el registro de errores
El registro de errores de MariaDB se guarda en el siguiente lugar.
sudo cat /var/log/mysql/error.log
Revise el registro para identificar el contenido específico del error.
- Verificar la capacidad del disco
MariaDB utiliza el disco para guardar archivos de registro y datos. Si no hay suficiente espacio libre, el servicio puede no iniciarse.
df -h
Elimine archivos innecesarios según sea necesario para asegurar espacio libre.
- Corregir el archivo de configuración
Si hay errores en la configuración, verifique el archivo de configuración de MariaDB (/etc/mysql/mariadb.conf.d/50-server.cnf
). - Reiniciar el servicio
Después de corregir el problema, reinicie MariaDB.
sudo systemctl restart mariadb
Si ocurre un error de permisos
Síntomas
Al intentar que un usuario específico acceda a la base de datos, se muestra un error como «Access denied for user».
Solución
- Verificar los permisos del usuario
Conéctese a MariaDB y verifique los permisos del usuario.
SHOW GRANTS FOR 'nombre_de_usuario'@'nombre_del_host';
- Otro otorgamiento de permisos apropiados
Otorgue los permisos necesarios.
GRANT ALL PRIVILEGES ON nombre_de_base_de_datos.* TO 'nombre_de_usuario'@'nombre_del_host';
FLUSH PRIVILEGES;
- Verificar la configuración del nombre del host
Verifique si el host desde el que se conecta el usuario (por ejemplo: localhost o%
) es correcto.
Error de conexión a la base de datos
Síntomas
No se puede conectar a MariaDB desde una aplicación cliente.
Solución
- Verificar si MariaDB permite conexiones remotas
Por defecto, MariaDB solo permite conexiones desde el host local. Para permitir conexiones remotas, corrijabind-address
.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Verifique o corrija la siguiente línea.
bind-address = 0.0.0.0
- Configuración del firewall
Verifique que el puerto utilizado por MariaDB (predeterminado: 3306) esté abierto.
sudo ufw allow 3306
sudo ufw reload
- Configuración de usuario para conexiones remotas
Cree o configure un usuario que permita conexiones desde hosts remotos.
CREATE USER 'nombre_de_usuario'@'%' IDENTIFIED BY 'contraseña';
GRANT ALL PRIVILEGES ON nombre_de_base_de_datos.* TO 'nombre_de_usuario'@'%';
FLUSH PRIVILEGES;
Problemas de rendimiento
Síntomas
Las consultas de MariaDB son lentas o el servidor tiene una carga alta.
Solución
- Optimización de consultas
- Para identificar consultas lentas, active el registro de consultas lentas.
ini slow_query_log = 1 long_query_time = 2
- Verificación del registro:
bash sudo cat /var/log/mysql/slow.log
- Agregar índices
- Agregar índices apropiados a consultas utilizadas frecuentemente mejora la velocidad de búsqueda.
sql CREATE INDEX idx_column ON nombre_de_tabla(nombre_de_columna);
- Uso de caché
Active el caché de consultas en el archivo de configuración de MariaDB.
query_cache_size = 16M
query_cache_type = 1
- Monitoreo de recursos del servidor
Utilice comandos comotop
ohtop
para verificar el uso de CPU y memoria, y aumente los recursos del servidor según sea necesario.

7. Preguntas frecuentes (FAQ)
Aquí hemos recopilado las preguntas comunes y sus respuestas al usar MariaDB en Ubuntu. Estas Q&A proporcionan información útil para usuarios desde principiantes hasta de nivel intermedio.
Q1: ¿Cuál es la diferencia entre MariaDB y MySQL?
MariaDB es un sistema de gestión de bases de datos relacionales de código abierto (RDBMS) derivado de MySQL. A continuación se muestran las principales diferencias:
- Licencia: MariaDB adopta la GPL (GNU General Public License) y adhiere más estrictamente a los principios de código abierto que MySQL.
- Funcionalidad: MariaDB introduce nuevas funciones más rápidamente que MySQL, con optimizaciones de consultas y plugins mejorados.
- Desarrollo: Mientras que MySQL está liderado por Oracle, MariaDB se desarrolla en una comunidad independiente.
Q2: ¿Cómo instalar una versión específica de MariaDB?
Usando el repositorio oficial de MariaDB, puedes instalar una versión específica. A continuación, un ejemplo de procedimiento (para instalar la versión 10.6):
- Agregar el repositorio oficial de MariaDB:
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.aarnet.edu.au/pub/mariadb/repo/10.6/ubuntu focal main'
- Actualizar la lista de paquetes e instalar:
sudo apt update
sudo apt install -y mariadb-server
Q3: No entiendo el contenido de la configuración de mysql_secure_installation
.
mysql_secure_installation
es un script para configurar fácilmente la seguridad de MariaDB. A continuación se explican los principales elementos de configuración:
- Configuración de la contraseña root: Por defecto no está configurada, por lo que es necesario establecer una contraseña fuerte.
- Eliminación de usuarios anónimos: Para mejorar la seguridad, se recomienda eliminar los usuarios anónimos.
- Eliminación de la base de datos de prueba: Elimina la base de datos de prueba incluida en MariaDB.
- Recarga de la tabla de privilegios: Aplica inmediatamente los cambios de configuración.
Q4: ¿Por qué configurar el juego de caracteres en utf8mb4
?
utf8mb4
es una implementación completa de UTF-8 que soporta todos los caracteres, incluyendo emojis y caracteres especiales. Configurarlo previene problemas de codificación de caracteres y pérdida de datos.
Ejemplo de configuración:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
Q5: ¿Cómo mejorar el rendimiento de MariaDB?
Para mejorar el rendimiento de MariaDB, considera lo siguiente:
- Optimización de consultas: Habilita el registro de consultas lentas para identificar las consultas con bajo rendimiento.
- Uso de índices: Crea índices en las columnas usadas frecuentemente.
- Configuración de caché: Configura adecuadamente el caché de consultas en el archivo de configuración de MariaDB para almacenar resultados reutilizables.
- Monitoreo de recursos: Monitorea el uso de CPU y memoria para reducir la carga del servidor.
Q6: ¿Hay alguna forma de automatizar las copias de seguridad de MariaDB?
Sí, puedes automatizar las copias de seguridad usando cron
. A continuación, un ejemplo para ejecutar la copia de seguridad diariamente a las 3 a. m.:
- Crear el script de copia de seguridad:
nano /usr/local/bin/backup_mariadb.sh
Contenido:
#!/bin/bash
mysqldump -u root -p'password' --all-databases > /backup/mariadb_backup_$(date +%F).sql
- Otorgar permisos de ejecución al script:
chmod +x /usr/local/bin/backup_mariadb.sh
- Configurar el trabajo de Cron:
crontab -e
Agregar lo siguiente:
0 3 * * * /usr/local/bin/backup_mariadb.sh
8. Resumen y próximos pasos
En este artículo, explicamos en detalle los pasos para instalar MariaDB en Ubuntu y operarlo de manera segura y eficiente. A continuación, repasamos brevemente el contenido aprendido en cada sección.
Resumen de los puntos del artículo
- Introducción
- Explicamos las características de MariaDB y las ventajas de usarlo en Ubuntu.
- Preparación necesaria
- Confirmamos el entorno recomendado antes de la instalación, los paquetes de dependencias y los pasos para actualizar el repositorio.
- Instalación de MariaDB
- Aprendimos los métodos de instalación usando el repositorio estándar y el repositorio oficial.
- Configuración inicial y refuerzo de seguridad
- Explicamos la configuración de seguridad usando
mysql_secure_installation
, la configuración de plugins de autenticación y los métodos para cambiar la codificación de caracteres.
- Operaciones básicas
- Aprendimos sobre la gestión de servicios, la creación de bases de datos, la configuración de usuarios y permisos, y las copias de seguridad y restauración.
- Solución de problemas
- Confirmamos soluciones para errores de inicio, errores de permisos, errores de conexión y problemas de rendimiento.
- Preguntas frecuentes (FAQ)
- Explicamos en detalle el conocimiento básico de MariaDB, métodos de configuración convenientes y la automatización de copias de seguridad.
Próximos pasos
Una vez que puedas operar MariaDB de manera básica, puedes aprender funciones y configuraciones más avanzadas para construir un entorno de base de datos más eficiente y robusto.
Aprender sobre replicación
Al utilizar la replicación de MariaDB, puedes asegurar la redundancia de datos y mejorar la disponibilidad. Se recomienda aprender los métodos de configuración para replicación maestro-esclavo (Master-Slave) o múltiples maestros (Master-Master).
Ajuste de rendimiento
Cuando la cantidad de datos o el tráfico aumenta, el rendimiento puede convertirse en un problema. Aprende la optimización de consultas, el uso de índices, el ajuste de configuraciones del servidor, etc., para maximizar el rendimiento de MariaDB.
Refuerzo adicional de la seguridad
- Configuración de conexiones seguras usando SSL/TLS
- Introducción de monitoreo de logs y encriptación de datos
Funciones avanzadas de MariaDB
- Clustering de alta disponibilidad usando Galera Cluster
- Aprovechar funciones recientes como el tipo de datos JSON y la búsqueda de texto completo
Enlaces de referencia
Para profundizar tu aprendizaje de ahora en adelante, utiliza los siguientes recursos.
- Documentación oficial de MariaDB: https://mariadb.org/documentation/
- Guía oficial de Ubuntu: https://ubuntu.com/tutorials/