Table of Contents
Instalar MariaDB en un servidor local Linux basado en Debian
Antes que nada, como este artículo o post es algo extenso, os dejo un índice del mismo, por si queréis ir directamente al paso de la instalación de MariaDB:
1. Introducción
2. ¿Por qué MariaDB?
3. Diferencias entre MariaDB y MySQL
4. Ventajas y Desventajas de MariaDB y MySQL
5. Pasos para la instalación de MariaDB
6. Conclusión y próximos pasos
Introducción
Ya tenemos instalado nuestro servidor local Apache , así como el lenguaje de script PHP. Para poder utilizar muchas de las aplicaciones web en nuestro servidor local, necesitaremos un sistema de gestión de bases de datos. Yo he elegido MariaDB.
MariaDB (https://mariadb.org/) es un sistema de gestión de bases de datos relacional (RDBMS) que es un fork de MySQL (https://www.mysql.com/). Fue creado por los desarrolladores originales de MySQL después de que este último fuera adquirido por Oracle Corporation. MariaDB se diseñó para ser completamente compatible con MySQL, pero también incluye características adicionales y mejoras de rendimiento.
¿Por qué MariaDB?
Antes de instalar el gestor de bases de datos phpMyAdmin, deberemos tener instalado un sistema de gestión de bases de datos, como MariaDB (https://MariaDB.org/) o MySQL (https://www.mysql.com/), ya que phpMyAdmin es una herramienta de gestión que se conecta a un servidor de bases de datos. Sin un servidor de bases de datos en funcionamiento, phpMyAdmin no podrá realizar ninguna operación. En mi caso, prefiero utilizar MariaDB a MySQL, aunque son totalmente compatibles. Empezamos viendo las diferencias y semejanzas, así como las ventajas y desventajas de ambos sistemas:
Cuáles son las diferencias entre MariaDB y MySQL
Licencia:
– MySQL: Es de código abierto, pero tiene versiones comerciales bajo la licencia de Oracle.
– MariaDB: Es completamente de código abierto y se distribuye bajo la licencia GPL.
Desarrollo y Comunidad:
– MySQL: Desarrollado y mantenido por Oracle, lo que ha llevado a preocupaciones sobre la dirección futura del proyecto.
– MariaDB: Desarrollado por la comunidad y la Fundación MariaDB, lo que permite una mayor transparencia y participación de la comunidad.
Características:
– MariaDB: Incluye características adicionales como nuevos motores de almacenamiento (por ejemplo, Aria, TokuDB), mejoras en la replicación, y optimizaciones de rendimiento.
– MySQL: Aunque ha mejorado con el tiempo, algunas características avanzadas pueden no estar disponibles o ser diferentes en comparación con MariaDB.
Compatibilidad:
– Compatibilidad: En general, MariaDB es compatible con MySQL, lo que significa que la mayoría de las aplicaciones que funcionan con MySQL también funcionarán con MariaDB sin cambios. Sin embargo, algunas características específicas de MySQL pueden no estar disponibles en MariaDB y viceversa.
Ventajas y Desventajas de MariaDB y MySQL
Ventajas de MariaDB:
– Código Abierto: Totalmente de código abierto, lo que permite a los usuarios modificar y distribuir el software.
– Mejoras de Rendimiento: Incluye optimizaciones y mejoras en la replicación y el rendimiento.
– Nuevos Motores de Almacenamiento: Ofrece más opciones de motores de almacenamiento que MySQL.
– Comunidad Activa: Desarrollo impulsado por la comunidad, lo que puede resultar en una mayor innovación y respuesta a las necesidades de los usuarios.
Desventajas de MariaDB:
– Compatibilidad: Aunque es compatible con MySQL, algunas características pueden diferir, lo que puede causar problemas en ciertas aplicaciones.
– Menor Reconocimiento: Aunque está ganando popularidad, MySQL sigue siendo más conocido y utilizado en la industria.
Ventajas de MySQL:
– Estabilidad y Madurez: MySQL es un sistema maduro y ampliamente utilizado, con una gran base de usuarios y documentación.
– Soporte Comercial: Ofrece opciones de soporte comercial a través de Oracle, lo que puede ser atractivo para empresas que buscan garantías de soporte.
Desventajas de MySQL:
– Licencia: La versión de código abierto tiene limitaciones en comparación con las versiones comerciales.
– Desarrollo Controlado por Oracle: Las decisiones de desarrollo son controladas por Oracle, lo que puede llevar a preocupaciones sobre la dirección futura del software.
Así pues, tanto MariaDB como MySQL son excelentes opciones para la gestión de bases de datos, y la elección entre uno u otro dependerá de las necesidades específicas del proyecto, la preferencia por el software de código abierto y la comunidad, y la importancia del soporte comercial. En muchos casos, MariaDB puede ser una opción más atractiva debido a su enfoque en la comunidad y las mejoras de rendimiento. Ahora ya vamos con la instalación de MariaDB…
Pasos para la instalación de MariaDB en nuestro servidor local con Apache y PHP ya instalados
1. Instala MariaDB con el siguiente comando:
sudo apt install MariaDB-server
2. Configura MariaDB: Después de la instalación, es recomendable ejecutar el script de seguridad de MariaDB para establecer una contraseña de root y asegurar la instalación:
sudo mysql_secure_installation
En este punto, vamos a hacer un inciso, ya que es el que puede crearnos más errores:
Proceso de `mysql_secure_installation` y solución de posibles errores durante la instalación
El comando `sudo mysql_secure_installation` es una herramienta de configuración que se utiliza para mejorar la seguridad de una instalación de MariaDB (o MySQL). Este script interactivo te guía a través de varios pasos para asegurar tu servidor de bases de datos. A continuación, se detalla el proceso y cómo resolver posibles problemas de permisos.
Proceso de `mysql_secure_installation`
2.1. Ejecutar el Comando:
Como ya hemos visto, abre una terminal y ejecuta el siguiente comando:
sudo mysql_secure_installation
2.2. Establecer la Contraseña de Root:
– Si es la primera vez que ejecutas este script, se te pedirá que establezcas una contraseña para el usuario `root` de MariaDB. Si ya tienes una contraseña, se te preguntará si deseas cambiarla.
– Introduce la contraseña deseada y confirma.
2.3. Eliminar Usuarios Anónimos:
– Se te preguntará si deseas eliminar los usuarios anónimos. Esto es recomendable para evitar que cualquier persona pueda acceder a tu base de datos sin una cuenta de usuario.
– Responde Y (yes) para eliminar los usuarios anónimos.
2.4. Deshabilitar el Acceso Remoto para Root:
– Se te preguntará si deseas deshabilitar el acceso remoto para el usuario `root`. Esto significa que solo podrás acceder a la base de datos desde el localhost.
– Responde Y para deshabilitar el acceso remoto.
2.5. Eliminar la Base de Datos de Pruebas:
– Se te preguntará si deseas eliminar la base de datos de pruebas que se crea por defecto. Es recomendable eliminarla para mejorar la seguridad.
– Responde Y para eliminar la base de datos de pruebas.
2.6. Recargar las Tablas de Privilegios:
– Finalmente, se te preguntará si deseas recargar las tablas de privilegios para que los cambios surtan efecto. Responde Y para hacerlo.
Solucionar Problemas de Permisos
Si encuentras problemas de permisos al ejecutar `mysql_secure_installation`, aquí hay algunas soluciones comunes:
1. Acceso Denegado para el Usuario Root:
– Si recibes un mensaje de «Acceso denegado» al intentar acceder como `root`, asegúrate de que estás utilizando la contraseña correcta. Si no la recuerdas, puedes restablecerla siguiendo estos pasos:
Detén el servicio de MariaDB:
sudo systemctl stop mariadb
Inicia MariaDB en modo seguro:
sudo mysqld_safe –skip-grant-tables &
Conéctate a MariaDB:
mysql -u root -p
Cambia la contraseña de root:
FLUSH PRIVILEGES;
SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘nueva_contraseña’);
Sal de MariaDB y reinicia el servicio:
exit;
sudo systemctl start mariadb
- Permisos Insuficientes:
– Si el script no puede realizar cambios debido a permisos insuficientes, asegúrate de que estás ejecutando el comando con `sudo`. Si el problema persiste, verifica que tu usuario tenga privilegios de sudo. - Problemas con el Archivo de Configuración:
– Si hay problemas con el archivo de configuración de MariaDB, asegúrate de que el archivo `/etc/mysql/my.cnf` o `/etc/mysql/mariadb.conf.d/50-server.cnf` esté correctamente configurado y que no haya errores de sintaxis. - Logs de Errores:
– Si encuentras errores, revisa los logs de errores de MariaDB para obtener más información. Los logs suelen encontrarse en `/var/log/mysql/error.log` o `/var/log/mariadb/mariadb.log`.
Asegúrate de que el servicio de MariaDB esté en funcionamiento antes de intentar acceder a phpMyAdmin
Puedes verificar el estado del servicio con:
sudo systemctl status MariaDB
Si el servicio no está activo, puedes iniciarlo con:
sudo systemctl start MariaDB
Para conectarte a MariaDb por consola o terminal, escribe:
mysql -u root -p
O con otro usuario al que le hayas dado permisos (ya lo veremos…):
mysql -u tu_usuario -p
Aquí, -u root especifica que deseas iniciar sesión como el usuario root, y -p te pedirá que ingreses la contraseña del usuario root. Si no has configurado una contraseña, simplemente presiona Enter.
Usar la Consola de MariaDB
Una vez que estés dentro de la consola de MariaDB, verás un prompt que se parece a esto:
MariaDB [(none)]>
Desde aquí, puedes ejecutar comandos SQL y gestionar tus bases de datos.
Conclusión y próximos pasos
En resumen, tanto MariaDB como MySQL son opciones robustas para la gestión de bases de datos, y la elección entre uno u otro dependerá de tus necesidades específicas y preferencias. Personalmente, prefiero MariaDB por su enfoque en la comunidad y las mejoras de rendimiento. Con MariaDB instalado y configurado, estás listo para aprovechar phpMyAdmin y gestionar tus bases de datos de manera eficiente, creando así un entorno adecuado para tus proyectos.
Ahora ya tenemos MariaDB instalado, configurado y en funcionamiento en nuestro servidor local Linux. En el siguiente post veremos la instalación de phpMyAdmin.