En esta entrada vamos a ver cómo instalar MariaDB en Ubuntu 18.04 LTS Bionic Beaver paso a paso, un reconocido servicio de bases de datos relacionales que muchos usuarios prefieren como alternativa a MySQL. Al final de este tutorial tendrás funcionando este servicio en tu servidor o VPS Ubuntu, ya sea la versión de los repositorios de Ubuntu o la última versión estable disponible en mariadb.org.
Contenido
Antes de instalar MariaDB en Ubuntu 18.04 LTS
Para poder seguir esta guía de instalación de MariaDB Server en Ubuntu 18.04 LTS, partiremos de estos requisitos mínimos:
- Una instalación reciente y actualizada de Ubuntu 18.04 LTS Bionic Beaver.
- Un usuario con permisos de superusuario o root.
- Conexión a Internet.
En este tutorial te presentamos dos opciones, bien instalar la versión de los repositorios de Ubuntu, que es MariaDB 10.1, o bien instalar las últimas versiones estables desde los repositorios oficiales de MariaDB, MariaDB 10.7, MariaDB 10.6. o anteriores.
Cómo instalar MariaDB en Ubuntu 18.04 LTS
Si prefieres instalar MariaDB desde los repositorios de Ubuntu 18.04, sáltate la siguiente sección, ya que el resto de la guía es común, independientemente de qué fuente elijas para instalar los paquetes.
Instalar el repositorio de MariaDB
Para instalar MariaDB 10.7 ó MariaDB 10.6 en Ubuntu 18.04 LTS desde los repositorios de mariadb.org necesitaremos algunas herramientas:
~$ sudo apt install -y software-properties-common
Hecho esto, incluimos la clave pública con la que se firman los paquetes de MariaDB:
~$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Y finalmente añadimos el repositorio oficial de MariaDB para Ubuntu 18.04 Bionic Beaver:
~$ sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.wtnet.de/mariadb/repo/10.7/ubuntu bionic main'
La línea anterior configura el repositorio para la versión 10.7, por lo que si deseas instalar otra versión cambia en la URL /10.7/ por /10.6/, /10.5/, etc.
Instalar MariaDB en Ubuntu 18.04 LTS
Para instalar MariaDB en Ubuntu 18.04 LTS, tanto el servidor de bases de datos como el cliente de consola, usaremos el comando apt, siendo importante actualizar previamente la información de los repositorios:
~$ sudo apt update
Con las listas de paquetes actualizadas, podemos descargar MariaDB Server:
~$ sudo apt -y install mariadb-server
Dependiendo de lo que se tenga instalado en el sistema con anterioridad, se descargará un mayor o menor número de dependencias.
En cualquier caso, terminada la descarga e instalación de paquetes de MariaDB, el servicio mariadb queda configurado y en funcionamiento por defecto. Esto lo podemos comprobar con el comando systemctl status mariadb
:
Ya en la primera línea de la salida del comando, podremos ver el número de versión de MariaDB Server, y a continuación se muestra el estado del servicio mariadb.
A partir de este momento se puede realizar conexiones locales a través del cliente de consola mysql, que se instala como dependencia de MariaDB Server.
Cómo configurar MariadB en Ubuntu 18.04 LTS
Aunque el sistema está listo para trabajar, podemos configurar MariaDB en Ubuntu 18.04 con unos mínimos ajustes que mejoren su seguridad y nos faciliten el trabajo.
Configurar el usuario root de MariaDB
Cuando se instala MariaDB Server en Ubuntu nos econtramos con que el usuario root viene configurado por defecto sin contraseña y sólo es posible conectar con el cliente mysql mediante sudo.
Esto es así porque el usuario root de MariaDB está configurado para usar el plugin de autenticación unix_socket, que no hace uso de autenticación por contraseña. En su lugar, el acceso se realiza a través del usuario de Ubuntu 18.04 que realiza la conexión (en este caso root, ya que al usar sudo es root realmente el que hace la conexión).
Puede que esta configuración te resulte interesante tal y como está pero si quisieras que cualquier usuario sin privilegios de sudo pueda acceder como root habrá que hacer un par de cambios:
- Configurar el plugin de auntenticación de root.
- Asignar una contraseña para root.
Cambiar la autenticación de root en MariaDB 10.1 (repositorio de Ubuntu 18.04)
En primer lugar desactivaremos el plugin unix_socket para root, de modo que use la autenticación estándar. Para ello conectamos con el cliente mysql:
~$ sudo mysql
En la tabla user de la base de datos mysql actualizamos el valor de los campos plugin y password para el usuario root:
> update mysql.user set plugin='',password=password('XXXXXXXX') where user='root';
Asignar un valor vacío al campo plugin hace que se use el plugin de autenticación por defecto, el que requiere uso de contraseña.
Sólo queda actualizar la tabla de privilegios de MariaDB:
> flush privileges;
Y salir del cliente:
> exit
Desde este momento cualquier usuario de Ubuntu 18.04 deberá utilizar la contraseña de root para conectar con el cliente:
~$ mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 51 Server version: 10.1.47-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04 ... MariaDB [(none)]>
Cambiar la autenticación de root en MariaDB 10.5 (repositorio de MariaDB)
Si has instalado alguna versión reciente de MariaDB desde el repositorio oficial crearemos una contraseña para root de la siguiente forma. Iniciamos sesión con el cliente mysql:
~$ sudo mysql
En este caso utilizamos el comando alter user:
> alter user root@localhost identified by 'XXXXXXXX';
Actualizamos la tabla de permisos:
> flush privileges;
Y cerramos la sesión:
> exit
Ahora para iniciar sesión habrá que facilitar la contraseña:
~$ mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 50 Server version: 10.7.3-MariaDB-1:10.7.3+maria~bionic mariadb.org binary distribution ... MariaDB [(none)]>
¿Qué hay del script mysql_secure_installation?
Si alguna vez usaste el script mysql_secure_installation para configurar un servidor MySQL en entornos Linux, debes saber que aunque está presente en la instalación de MariaDB no resulta muy útil.
Esto es así porque la instalación por defecto de MariaDB Server en Ubuntu 18.04 LTS…
- No permite el acceso remoto como root.
- Ha eliminado los usuarios anónimos.
- No incluye una base de datos de pruebas.
Sí que permite asignar una contraseña para root, pero ya acabamos de ver cómo hacer eso y mucho más para configurar el usuario root.
Cómo crear un usuario administrador en MariaDB
En el caso de que necesites un usuario adicional de MariaDB (que no sea root) con privilegios totales para, por ejemplo, acceder al servidor remotamente, podemos usar el cliente mysql:
~$ mysql -u root -p
Creamos un usuario que pueda manejar todas las bases de datos con todos los privilegios y capacidad de traspasar privilegios sobre las bases a otros usuarios:
> grant all privileges on *.* to chacho identified by 'XXXXXXXX' with grant option;
Como siempre, actualiza los privilegios y cierra el cliente.
Este nuevo usuario se conecta con el plugin de autenticación estándar y tiene permitido el acceso remoto.
Cómo permitir el acceso remoto a MariaDB en Ubuntu 18.04
La configuración por defecto de la instalación de MariaDB en Ubuntu 18.04 LTS no permite conexiones mediante acceso remoto.
Es una medida muy segura, pero en ocasiones puede ser interesante poder permitir este acceso remoto.
Para ello editaremos con privilegios de sudo el archivo /etc/mysql/mariadb.conf.d/50-server.cnf:
~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
En este archivo buscaremos la directiva bind-address y veremos qué valor tiene asignado:
[mysqld] ... # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1 ...
Podemos apreciar que únicamente se permiten conexiones desde la máquina local, ya que el valor de bind-address es 127.0.0.1, que suele ser la dirección IP de la interfaz loopback de cualquier sistema.
Si queremos permitir acceso remoto (a los usuarios que individualmente lo tengan permitido) editaremos con privilegios de sudo el archivo /etc/mysql/mariadb.conf.d/50-server.cnf y borramos o comentamos la directiva bind-address:
#bind-address = 127.0.0.1
Los cambios no harán efecto hasta que reiniciemos MariaDB Server:
~$ sudo systemctl restart mariadb
Ahora ya es posible conectar a MariaDB Server remotamente desde otros sistemas con un cliente, ya sea de consola o gráfico.
Conclusión
Ahora que ya sabes cómo instalar MariaDB en Ubuntu 18.04 LTS estás listo para implantar complejos sistemas de aplicaciones multiusuario, web, etc.
Normalmente estas aplicaciones y sistemas solamente necesitan tener asignado una base de datos propia y un usuario con su correspondiente clave dentro de MariaDB. Por ello es recomendable adentrarse un poco en el manejo de bases, tablas y usuarios, pero eso ya escapa al objetivo de esta guía.
Si tienes cualquier pregunta, duda, sugerencia, etc. déjame un comentario.
¡Apoya comoinstalar.me!
Finalmente, si has encontrado útil este artículo sobre MariaDB en Ubuntu 18.04 y te gustaría colaborar con el mantenimiento de este portal, toda contribución, por mínima que sea, es bienvenida.
Puedes ayudarnos dejando tan sólo 1 $ de propina a través de PayPal:
O, si te sientes especialmente generoso, puedes invitarnos a un cappuccino:
¡Gracias!
Actualizado a MariaDB 10.7.
Mil gracias : olvidé «update user set plugin=» where user=’root’;» y perdi mucho tiempo antesd econtrar esa pagina, salvaste mi dia !
¡Me alegra saberlo! Esta es la razón de hacer tutoriales de MariaDB y Ubuntu 😀