Cómo instalar MySQL en Ubuntu 18.04 LTS

Cómo instalar MySQL en Ubuntu 18.04 LTS

En esta entrada vamos a ver cómo instalar MySQL en Ubuntu 18.04 LTS paso a paso. Esta guía te resultará de gran utilidad si prefieres la implementación nativa del motor de bases de datos de MySQL Server en Ubuntu 18.04 en lugar de alternativas como MariaDB.

Cómo instalar MySQL en Ubuntu 18.04 LTS desde los repositorios del sistema

Si te basta con la versión 5.7, puedes instalar MySQL en Ubuntu 18.04 directamente desde los repositorios oficiales de la distribución.

En este caso es tan sencillo como instalar el paquete mysql-server mediante apt desde consola o línea de comandos, para lo que previamente actualizaremos las listas de paquetes de Ubuntu 18.04:

~$ sudo apt update

Y a continuación instalamos el paquete mysql-server:

~$ sudo apt -y install mysql-server

Solicitando la instalación del paquete mysql-server automáticamente se añaden todas las dependencias, que incluyen el servidor MySQL, el cliente de consola mysql, librerías y utilidades.

Cómo instalar el cliente mysql en Ubuntu 18.04

Si quieres también instalar un cliente MySQL en Ubuntu 18.04, si has instalado MySQL Server no es necesario, ya que el cliente se incluye entre las dependencias.

Pero si en tu sistema Ubuntu sólo quieres el cliente, no necesitas el servidor, entonces el paquete que debes instalar el mysql-client:

~$ sudo apt install -y mysql-client

Y sólo tendrás que lanzar el comando mysql en tu consola de Ubuntu 18.04 cuando lo necesites.

Comprobar el estado del servidor MySQL en Ubuntu 18.04

Tras la descarga e instalación de los correspondientes paquetes de MySQL Server, el servicio mysql queda configurado y en funcionamiento.

Podemos comprobar el estado del servicio mediante el comando systemctl status mysql:

como instalar mysql en ubuntu 18.04

Desde este momento MySQL Server está listo para recibir conexiones y empezar a trabajar.

Cómo configurar MySQL en Ubuntu 18.04 LTS

Si necesitas configurar MySQL en Ubuntu 18.04 en algún momento, los archivos de configuración se encuentran en /etc/mysql/.

Aunque el servicio MySQL Server queda configurado y funcionando siempre es posible que quieras realizar algunos cambios que se ajusten a tus necesidades.

Seguridad en la instalación por defecto de MySQL en Ubuntu 18.04

Una de las ventajas de instalar MySQL Server desde los repositorios de Ubuntu 18.04 es que la configuración por defecto es muy segura, ya que:

  • Sólo se puede conectar como usuario root de MySQL con el usuario root del sistema Ubuntu (mediante sudo).
  • El usuario root de MySQL sólo puede acceder localmente.
  • No existen usuarios anónimos.
  • No se incluyen bases de datos de pruebas.
  • Las conexiones remotas no están permitidas.

La razón por la que solamente se puede conectar como usuario root de MySQL a través del usuario root (sudo) de Ubuntu 18.04 es porque para este usuario MySQL tiene configurado el plugin auth_socket. Este plugin no funciona a través de contraseña, sino que comprueba que el usuario del sistema sea el mismo que el de MySQL.

Cómo cambiar el método de autenticación de root en MySQL

Si por alguna razón quisieras que el usuario root de MySQL pueda conectar mediante contraseña, como el resto de usuarios, es posible hacerlo. Basta con cambiar el plugin de autenticación de auth_socket por el plugin mysql_native_password y asignar una contraseña. Los pasos son los siguientes:

En primer lugar conectamos mediante el cliente de consola mysql con sudo:

instalar mysql en ubuntu 18.04

Seleccionamos la base de datos mysql que es donde se almacenan los datos de los usuarios:

> use mysql;

Mediante el comando ALTER USER asignamos el plugin de acceso y una contraseña para el usuario root:

> alter user root@localhost identified with mysql_native_password by 'XXXXXXXX';

Ya sólo queda recargar la tabla de privilegios y salir al sistema:

> flush privileges;
> exit

A partir de ahora, cualquier usuario del sistema que conozca la contraseña del usuario root de MySQL podrá acceder como superusuario:

~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25-0ubuntu0.18.04.2 (Ubuntu)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Fíjate que ahora no hace falta usar sudo y, sin embargo, hay que especificar que queremos conectar como root, solicitándose la contraseña que acabamos de crear para validar el acceso.

Cómo crear un usuario administrador adicional para MySQL

Si te interesa disponer de un usuario en MySQL, distinto de root, con el que trabajar como administrador incluso de forma remota, podemos crearlo de forma rápida y sencilla.

Para ello, accedemos localmente como root a MySQL con el cliente de consola mysql (con el método de autenticación que hayas preferido para root):

~$ sudo mysql

mysql>

Empezamos creando el nuevo usuario con su correspondiente contraseña:

> create user nuevo_usuario identified by 'tu_contraseña';

Lógicamente debes sustituir en el anterior comando el nombre del usuario y la contraseña por tus propios valores.

Una vez creado el usuario le otorgamos privilegios para administrar todas las bases de datos y los privilegios de otros usuarios:

> grant all privileges on *.* to nuevo_usuario with grant option;

Y lo único que queda es actualizar los permisos y privilegios del usuario, y salir al sistema:

> flush privileges;
> exit

A diferencia de lo que ocurre con la configuración del usuario root, al crear este usuario el método de autenticación es el tradicional mediante contraseña, y tiene acceso remoto permitido.

Pero no hay que confundir el que un usuario pueda conectarse remotamente con el hecho de que el servidor acepte conexiones remotas. Son cosas distintas y se configuran por separado.

Cómo permitir conexiones remotas a MySQL en Ubuntu 18.04

Hemos visto que la configuración por defecto de MySQL Server en Ubuntu 18.04 no permite conexionas remotas. Para conseguir que el servidor las acepte debemos modificar esta configuración editando el archivo /etc/mysql/mysql.conf.d/mysqld.cnf:

~$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Dentro de este archivo buscaremos la directiva bind-address que se encuentra en la sección [mysqld]:

[mysqld]
...
bind-address            = 127.0.0.1
...

Esta línea esta indicando a MySQL Server que sólo acepte conexiones desde la máquina local, cuya dirección IP es 127.0.0.1 en cualquier sistema que tenga configurada la pila TCP/IP.

Para permitir conexiones remotas a MySQL tendremos que borrar o, mejor aún, comentar la directiva bind-address:

#bind-address           = 127.0.0.1

Tras guardar los cambios en /etc/mysql/mysql.cnf.d/mysqld.cnf es necesario reiniciar el servicio mysql mediante systemctl:

~$ sudo systemctl restart mysql

En unos instantes se reinicia el servicio y ya puede aceptar conexiones remotas desde otros sistemas con clientes gráficos como MySQL Workbench o clientes de consola como el mismo mysql con el parámetro -h.

Conclusión

Ahora que ya sabes cómo instalar y configurar MySQL en Ubuntu 18.04 LTS ya dispones de este potente motor de bases de datos en tu sistema, listo para poder trabajar con aplicaciones y servicios que necesitan un servidor de bases de datos.

Si tienes alguna pregunta, duda, sugerencia, quieres informar de algún error, etc. déjame un comentario.

Apoya este sitio

¿Has encontrado esta guía de instalación y configuración de MySQL en Ubuntu 18.04 LTS de tanta ayuda que te gustaría apoyarnos en el mantenimiento de este stio? ¡Siempre puedes colaborar con una mínima aportación! ¡Gracias!

Valora esta entrada

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

1 comentario en “Cómo instalar MySQL en Ubuntu 18.04 LTS”

Deja un comentario

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.

ACEPTAR
Aviso de cookies