Miguel López Ariza

Hola, te compartiré un poco de mi experiencia como programador!

Instalar MySQL en Ubuntu 20 Y Activar Conexión Remota

2021-05-19

https://pixabay.com

En mi labor como desarrollador de Software me enfrento a situaciones en las que por algún motivo debo configurar entornos para desplegar aplicaciones y servicios del entorno de desarrollo, esta labor normalmente la realizo en Windows sin mayor esfuerzo, pero cuando el SO es Ubuntu la cosa cambia un poco y tengo leer documentación de varias fuentes, por tal motivo detallo cada uno de los pasos que realizo para configurar MySQL con acceso remoto en un servidor con Ubuntu 20 desplegado en DigitalOcean.

Instalación de MySQL

  1. Actualizamos los repositorios de Ubuntu:
sudo apt-get update
  1. Instalamos MySQL:
sudo apt-get install mysql-server
  1. Verificamos que el servicio de MySQL este corriendo:
systemctl status mysql

“systemctl status mysql”

Configurar MySQL para permitir conexiones remotas

Cargamos el asistente que nos permitirá modificar configuraciones por defecto que trae MySQL:

mysql_secure_installation
  1. Pregunta: Respuesta: N

“systemctl status mysql”

  1. Pregunta: Digitamos una clave para nuestro servicio de MySQL.

“systemctl status mysql”

  1. Pregunta: Respuesta y.

“systemctl status mysql”

  1. Pregunta: Respuesta y.

“systemctl status mysql”

  1. Pregunta: Respuesta y.

“systemctl status mysql”

  1. Pregunta: Respuesta y.

“systemctl status mysql”

Ahora utilizando el editor de texto nano abriremos el archivo mysqld.cnf para realizar la modificación pertinente.

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

Buscamos el parámetro bind-address que por defecto tiene como valor 127.0.0.1 y cambiamos por 0.0.0.0.

 bind-address = 0.0.0.0

Presionamos Ctrl+x y por ultimo la tecla Y para confirmar el cambio sobre el archivo mysqld.cnf.

Con lo anterior permitiremos conexiones remotas a MySQL desde cualquier IP.

Reiniciamos el servicio de MySQL para aplicar los cambios.

 sudo systemctl restart mysql

Continuamos con la instalación de la herramienta net-tools esta nos permitirá verificar que la conexión remota a MySQL esta bien configurada.

  • Instalamos net-tools
apt-get install net-tools
  • Verificamos que las conexiones externas estén permitidas al servicio MySQL desde el puerto 3306
sudo netstat -plunt | grep mysqld
  • Ahora crearemos una excepción en el Firewall de Ubuntu para el servicio MySQL.
sudo ufw allow mysql

Conexión remota para el usuario root

sudo mysql
CREATE USER 'root'@'%' IDENTIFIED BY 'tu_clave';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'tu_clave';

Luego se seguir los pasos anteriores ya deberías poder acceder a tu servicio MySQL desde cualquier maquina utilizando un cliente como Navicat o HeidiSql.

Espero sea de mucha utilidad.

comments powered by Disqus