En este artículo veremos cómo instalar MariaDB en Debian 8 Jessie paso a paso, de modo que puedas trabajar con las últimas versiones estables de MariaDB en tu viejo servidor o VPS Debian.
Tabla de contenidos
Antes de instalar MariaDB en Debian 8 Jessie
Si quieres seguir esta pequeña guía de instalación de MariaDB en Debian 8 Jessie sólo tienes que partir de estos mínimos requerimientos:
- Una máquina Debian 8 Jessie actualizada.
- Un usuario con permisos de sudo o el propio root.
- Conexión a Internet.
Cómo instalar el repositorio de MariaDB para Debian 8 Jessie
Debido a que la versión incluida en los repositorios del sistema está totalmente obsoleta, la mejor opción es instalar el repositorio oficial de MariaDB para Debian 8 Jessie.
El primer paso será actualizar las listas de paquetes:
~$ sudo apt update
Instalamos algunas utilidades para gestionar repositorios:
~$ sudo apt-get install -y software-properties-common
Importamos la clave pública con la que están firmados los paquetes del repositorio de MariaDB:
~$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
Y añadimos el nuevo repositorio para MariaDB:
~$ sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.osuosl.org/pub/mariadb/repo/10.4/debian jessie main'
Con el repositorio de MariaDB preparado ya en Debian 8, actualizamos la información de paquetes disponibles:
~$ sudo apt update
De esta forma ya tenemos listo el nuevo repositorio oficial.
Cómo instalar MariaDB en Debian 8 Jessie
Para instalar MariaDB en Debian 8 Jessie bastará con instalar el paquete mariadb-server con apt:
~$ sudo apt install -y mariadb-server
Tras la descarga e instalación del paquete y sus dependencias se crea un nuevo servicio en Debian 8, el servicio mariadb.service o simplemente mariadb. Dicho servicio queda inmediatamente en ejecución y habilitado para su inicio automático. Podemos comprobar en cualquier momento el estado del servicio MariaDB con el comando systemctl status mariadb
:
Cómo instalar el cliente de MariaDB en Debian 8 Jessie
Si sólo quieres instalar el cliente de MariaDB en Debian 8 Jessie, el paquete que necesitas es mariadb-client:
~$ sudo apt install -y mariadb-client
En cambio, al instalar MariaDB Server el cliente de consola viene incluido como una dependencia más.
Cómo configurar MariaDB en Debian 8 Jessie
Vamos a ver a continuación cómo configurar MariaDB en Debian 8 Jessie, ya que, aunque la configuración por defecto es bastante funcional, habrá ciertos ajustes que querrás realizar.
Crear contraseña para root
El usuario root de MariaDB por defecto viene configurado sin contraseña, como se puede comprobar al acceder con el cliente de consola mysql:
~$ mysql -u root
Iniciada la sesión podemos asignar la contraseña que deseemos:
> alter user root@localhost identified by 'XXXXXXXX';
Actualizamos la tabla de privilegios:
> flush privileges;
Y ya podemos cerrar la conexión:
> exit
La próxima vez que queramos acceder necesitaremos proporcionar la contraseña:
~$ mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 18 Server version: 10.4.12-MariaDB-1:10.4.12+maria~jessie-log mariadb.org binary distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
Configurar el juego de caracteres
Por defecto algunos valores de juego de caracteres de MariaDB están configurados como latin1 en lugar de utf8. Esto es fácil de comprobar iniciando sesión con el cliente mysql y lanzando la siguiente consulta:
> show variables like 'char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.002 sec) >
Para cambiar la configuración a UTF-8 editaremos el archivo my.cnf:
~$ sudo nano /etc/mysql/my.cnf
Buscaremos la sección mysqld y añadiremos la siguiente línea:
... [mysqld] ... character-set-server = utf8 ...
Guardamos los cambios, cerramos el archivo y reiniciamos el servicio MariaDB para que se actualice la configuración:
~$ sudo systemctl restart mariadb
Si conectamos nuevamente con el cliente mysql y lanzamos la consulta anterior, observaremos los cambios:
> show variables like 'char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.002 sec) >
Acceso remoto a MariaDB en Debian 8 Jessie
Por defecto, MariaDB en Debian 8 Jessie sólo admite conexiones locales, así que si necesitamos acceder remotamente tendremos que hacer algún ajuste en my.cnf:
~$ sudo nano /etc/mysql/my.cnf
Buscamos la directiva bind-address:
... bind-address = 127.0.0.1 ...
Bastará con desactivar esta directiva añadiendo un carácter # al inicio de la línea:
... #bind-address = 127.0.0.1 ...
Guardamos los cambios, cerramos el archivo y reiniciamos el servicio mariadb.service:
~$ sudo systemctl restart mariadb
Crear un usuario para acceso remoto
En muchas configuraciones el usuario root de MariaDB no puede acceder remotamente, por motivos de seguridad. Puede ser interesante crear un nuevo usuario con capacidades de administración de bases de datos y usuarios, y con acceso remoto habilitado. Para ello iniciamos sesión con el cliente mysql y creamos el nuevo usuario:
> grant all privileges on *.* to chacho identified by 'XXXXXXXX' with grant option;
Al crear el usuario no hemos indicado desde qué redes puede acceder (no hemos indicado usuario@localhost o similar), así que al omitir esta restricción el usuario tendrá acceso desde cualquier red. Por supuesto puedes crear usuarios con acceso remoto limitando las bases a las que tienen acceso, la creación de usuarios, etc.
Configurar el firewall UFW para MariaDB en Debian 8 Jessie
Si tienes instalado el firewall UFW en Debian 8 y quieres acceder remotamente al servicio MariaDB, será necesario añadir la correspondiente regla:
~$ sudo ufw allow mysql
La nueva configuración estará disponible inmediatamente.
Conexiones remotas
Ya tenemos todo lo necesario para poder conectar de forma remota al servicio MariaDB en Debian 8, así que vamos a conectar desde otro sistema con un cliente mysql de consola:
Usaremos el parámetro -u para indicar el usuario con el que queremos conectar, el parámetro -h para indicar la dirección IP o dominio del servidor Debian 8 Jessie en el que corre el servicio MariaDB que acabamos de configurar y el parámetro -p para que se nos solicite la contraseña.
Conclusión
Ahora que sabes cómo instalar MariaDB en Debian 8 Jessie ya puedes disfrutar de la última versión estable de este servicio de bases de datos, a pesar de la edad del sistema operativo. Gracias a poder trabajar con versiones modernas de este motor de bases de datos podrás realizar potentes desarrollos o instalar aplicaciones que necesiten este requisito sobre tu viejo sistema.
Si tienes alguna duda o pregunta, sugerencias de mejora, notificaciones de errores, etc. puedes dejar un comentario (aunque el SPAM será eliminado).
Y si ya estás listo para trabajar con bases de datos gracias a esta guía de instalación y configuración, y quieres ayudar al mantenimiento de este sitio y la creación de más tutoriales, puedes hacerlo dejando una pequeña propina de 1 $ desde PayPal:
O, si te sientes generoso por encima de la media, puedes invitarnos a un café:
¡Gracias!