Cómo Instalar MariaDB en Debian 9 Stretch

Cómo Instalar MariaDB en Debian 9 Stretch

En esta entrada veremos cómo instalar MariaDB en Debian 9 Stretch. 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 Stretch

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:

~$ sudo apt update

Con las listas de paquetes sincronizadas, ya podemos instalar el paquete mariadb-server:

$ sudo apt -y install mariadb-server

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

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 9 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.38-MariaDB-0+deb9u1 Debian 9.8

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)]>

Seleccionamos la base de datos mysql, que almacena los datos de los usuarios:

> use mysql;

Actualizamos la información de root, tanto el plugin de autenticación como la contraseña:

> update user set password=password('XXXXXXXX'), plugin='' where user='root';

El hecho de no especificar un plugin concreto es porque el plugin por defecto de MariaDB, si no se cambia, es el tradicional plugin nativo.

Solamente queda actualizar los privilegios del sistema de base de datos y cerrar el cliente:

> flush privileges;
> exit

Hecho este cambio 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. Sin embargo, si intentamos conectar mediante usuario y contraseña (si necesidad de sudo) 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 9

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. En primer lugar creamos el usuario:

> create user 'TU-USUARIO' identified by 'TU-PASSWORD';

A continuación le aplicamos privilegios sobre todas las bases de datos y usuarios:

> create user 'TU-USUARIO' identified by 'TU-PASSWORD';

No olvides antes de cerrar el cliente actualizar los permisos de los usuarios de MariaDB:

> flush privileges;
> exit

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.

Los usuarios se crean con el plugin de autenticación por defecto, que en una instalación de MariaDB en Debian 9 es mysql_native_password.

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 Stretch

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 Stretch 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…

Esta entrada tiene un comentario

  1. mano buenisismo el mejor

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