Cómo Instalar MariaDB en Debian 9

Cómo Instalar MariaDB en Debian 9

En esta entrada veremos cómo instalar MariaDB en Debian 9. MariaDB es el servidor de bases de datos con licencia GPL incluido en Debian como alternativa a MySQL. No hay que subestimar MariaDB, ya que procede de los mismos creadores de MySQL, en un esfuerzo por asegurar un desarrollo GPL de este sistema de bases de datos relacionales. Además, sus autores exploran los nuevos desarrollos y tendencias del sector, por lo que MariaDB es un proyecto con presente y futuro.

Antes de empezar, si prefieres MySQL a MariaDB, quizás te interese más la entrada para instalar MySQL en Debian 9. Si eres más de la filosofía de Debian, entonces continúa leyendo.

Cómo Instalar MariaDB en Debian 9

Vamos a instalar MariaDB en Debian a través de los repositorios del sistema. Necesitamos el paquete mariadb-server, que instalará tanto el cliente de consola como el servidor MariaDB. Para ello, como siempre, primero actualizamos las listas de los repositorios del sistema y después instalamos el paquete y todas sus dependencias con apt:

~$ sudo apt update && sudo apt -y install mariadb-server

Tras la instalación de los paquetes necesarios, el servicio mariadb.service queda activado e iniciado, listo para usar, como podemos comprobar mediante el comando systemctl:

como instalar mariadb en debian 9
Servicio de MariaDB en funcionamiento tras la instalación

 

Por lo tanto, MariaDB se iniciará con el sistema, estando disponible en todo momento.

Cómo configurar MariaDB Server en Debian de forma segura

La instalación que acabamos de realizar configura el acceso para el usuario root de MariaDB mediante el plugin unix_socket. Este sistema es muy seguro porque sólo permite conectar a MySQL como root si el usuario de Debian que hace la conexión es también root (o está usando sudo). Con este sistema no se necesita contraseña para root.

Además, el usuario root sólo tiene acceso local, no se le permite el acceso remoto.

Cómo configurar el acceso de root a MariaDB con contraseña

Si por algún motivo muy justificado necesitas acceso tradicional mediante contraseña, tendremos que cambiar el plugin de autenticación y crear una contraseña para root.

No es recomendable hacer este cambio, ya que disminuye la seguridad de MariaDB Server. Pero si lo necesitas, aquí tienes el método a seguir.

Para ello, vamos a asignar la contraseña de root de forma manual y cargar el plugin por defecto (mysql_native_password) para gestionar el acceso mediante contraseñas.

Conectamos a MariaDB Server con el cliente de consola mysql:

~$ sudo mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.37-MariaDB-0+deb9u1 Debian 9.6

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)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]> update user set password=password('nueva_contraseña'), plugin='' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]> exit
Bye
~$

Hemos cambiado los datos de acceso del usuario root y actualizado los privilegios en MariaDB.

De hecho ya podemos comprobar que no podemos volver a acceder simplemente con sudo:

~$ sudo mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

El mensaje de error nos informa de que esperaba una contraseña. Si intentamos conectar mediante usuario y contraseña veremos que sí es posible la conexión:

como configurar mariadb en debian 9
Acceso como root mediante el cliente de consola mysql

 

Cómo crear usuarios en MariaDB Server en Debian

Al igual que ocurre en Linux, en MariaDB es mejor reservar el usuario root para tareas muy concretas. Vale la pena crear un usuario especial al que darle suficientes privilegios, de cara al acceso remoto al servidor MariaDB. Esto le complicará mucho el trabajo a posibles intrusos.

Cómo crear un usuario con privilegios en MariaDB

Debemos conectar como root a MariaDB, mediante sudo si no hemos modificado la configuración, o mediante contraseña si hemos realizado el cambio que hemos explicado antes.

Tras establecer conexión con MariaDB Server mediante el cliente de consola, usaremos algunas sentencias SQL para crear el nuevo usuario con permisos:

> create user 'TU-USUARIO' identified by 'TU-PASSWORD';
Query OK, 0 rows affected (0.01 sec)

> grant all privileges on *.* to 'TU-USAURIO' with grant option;
Query OK, 0 rows affected (0.01 sec)

> flush privileges;
Query OK, 0 rows affected (0.01 sec)

> exit
Bye
~$

Como la intención es que este nuevo usuario pueda acceder de forma remota a MariaDB, especificamos el nombre del usuario con el formato ‘usuario’ en lugar de ‘usuario’@’localhost’. De esta forma es posible acceso tanto local como remoto.

Cómo configurar el acceso remoto a MariaDB en Debian 9

Una vez hecha la instalación de MariaDB en Debian 9, configuraremos el acceso remoto al servicio. Necesitaremos modificar mínimamente la configuración que MariaDB Serve trae por defecto en Debian. Una línea en el archivo /etc/mysql/mariadb.conf.d/50-server.cnf es la responsable de que el servidor sólo escuche conexiones de red desde la propia máquina (127.0.0.1, la interfaz loopback).

Editaremos /etc/mysql/mariadb.conf.d/50-server.cnf con nuestro editor favorito, como nano, y buscaremos la directiva bind-address dentro de la sección mysqld:

[...]

[mysqld]

[...]

bind-address           = 127.0.0.1

[...]

Comentamos la línea bind-address = 127.0.0.1

[...]

#bind-address           = 127.0.0.1

[...]

Guardamos los cambios de este archivo de configuración y reiniciamos el servicio para que tengan efecto los cambios:

~$ sudo systemctl restart mariadb

Ya tenemos todo lo necesario para conectar remotamente. Vamos a probarlo, pero de forma cómoda, o sea, gráfica.

Conectar MySQL Workbench con un servidor remoto MariaDB

Vamos a instalar MySQL Workbench en Debian 9 , ya que es la herramienta más cómoda de trabajar gráficamente con MariaDB Server, independientemente de si se encuentra en la propia máquina Debian 9, en otra máquina de la red local o en un VPS Debian en Internet.

Cómo instalar MySQL Workbench en Debian 9

Para instalar MySQL Workbench en Debian 9 no tendremos más que usar apt para descargarlo desde los repositorios del sistema. El paquete es mysql-workbench y, como es habitual, apt lo descargará e instalará junto a todas sus dependencias:

~$ sudo apt -y install mysql-workbench

Ya podemos ejecutar MySQL Workbench. En el escritorio LXDE lo encontramos en el menú principal bajo la sección Programación.

como instalar mysql workbench en debian 9
Pantalla de inicio y conexiones de MySQL Workbench en Debian 9

 

Cómo crear una conexión en MySQL Workbench para Debian 9

Vamos a crear una nueva conexión desde la pantalla inicial de MySQL Workbench. Para ello pincharemos el botón con el símbolo + junto a «MySQL Connections» y se abrirá el diálogo de configuración de la nueva conexión:

como crear conexion mysql workbench debian
Diálogo para crear una nueva conexión a MariaDB Server en Debian

 

En este diálogo introduciremos los datos para establecer la conexión con el servidor MariaDB. Como mínimo cumplimentaremos los siguientes:

  • Connection name: Si tenemos varias conexiones a distintos servidores (o con distitntos usuarios) necesitaremos un nombre para distinguirlas. Aquí se establece ese nombre.
  • Connection method: Dejamos Standard (TCP/IP), ya que es el protocolo que necesitamos para conectar tanto de forma local como remotamente a nuestra red local o incluso a Internet.
  • Hostname: El nombre del servidor MariaDB al que queremos conectar, o su dirección IP.
  • Port: El puerto de conexión, dejamos el valor por defecto ya que el 3306 es el estándar.
  • Username: Usuario con el que queremos conectar al servidor, creado con permisos de acceso remoto.

Con los datos introducidos en cada campo del diálogo pinchamos en «Test Connection«. Si todo está correcto y se establece la conexión, se abrirá un nuevo diálogo que nos pide la contraseña del usuario:

mysql workbench password
MySQL Workbench pide la contraseña del usuario

 

Introducimos la contraseña, con la posibilidad de marcar «Save password in keychain» para que MySQL Workbench la recuerde en las próximas conexiones. Al pinchar en OK se muestra un mensaje de advertencia:

Mensaje de advertencia de MySQL Workbench

 

No hay problema, lo que está ocurriendo es que MySQL Workbench está pensado para conectar a servidores MySQL Server versiones de la 5.1 a la 5.7 y en esta ocasión se envía un número de versión 10.x, porque MariaDB lleva una numeración de versiones independiente. En cualquier caso, hasta ahora no he notado ninguna incompatibilidad trabajando con MariaDB Server en lugar de MySQL Server. Podemos continuar tranquilamente.

conexion exitosa con el servidor mariadb
Conexión exitosa con el servidor MariaDB

 

Y como vemos, la conexión se ha realizado con éxito. Pinchando en OK cerramos el aviso, y cerrando el diálogo de creación de la conexión, volveremos a la pantalla inicial de MySQL Workbench:

como crear conexiones mysql workbench mariadb server
Creada la nueva conexión de MySQL Workbench

 

Podemos ver nuestra nueva conexión recién creada en la lista de conexiones configuradas. Basta con pinchar en cualquiera de las conexiones creadas para realizar la conexión al servidor MariaDB, si no hemos guardado la contraseña del usuario, se nos pedirá. Una vez establecida la conexión (y avisados de nuevo de la diferencia de versión del servidor) se abre el espacio de trabajo de MySQL Workbench:

espacio de trabajo de mysql workbench
Espacio de trabajo de MySQL Workbench

 

Ahora que ya sabemos cómo instalar MySQL en Debian, ya podemos crear nuevos usuarios, bases de datos, tablas, realizar consultas, etc. Pero eso, amigo, ya es otra historia…

Conclusión

Ahora ya sabemos cómo instalar MariaDB en Debian 9 paso a paso, en cuestión de pocos minutos.

Podemos trabajar desde consola o desde herramientas gráficas como MySQL WorkBench, que nos puede echar una mano si no somos grandes expertos en SQL. Además con la ventaja de trabajar desde nuestro entorno favorito, ya sea Windows, Linux o Mac, en local o en remoto.

Espero que te haya resultado útil el tutorial. Si has visto cualquier error o tienes alguna pregunta o sugerencia, o quieres proponer una mejora del artículo, o uno nuevo, no dudes en dejarme un comentario.

¿Te ha sido útil este artículo?, ¡pues invítame a un café si quieres!

 

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (3 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Cerrar menú

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información

ACEPTAR
Aviso de cookies