database,  mysql,  ubuntu

Habilitar acceso remoto a mysql en Ubuntu

Por defecto mysql viene con el acceso remoto deshabilitado, generalmente es suficiente para pruebas en local, pero si utilizas otros equipos es necesario activarlo.

Habilitar puerto mysql, 3306

Lo primero será habilitar el acceso al puerto 3306 de la máquina que ejecuta mysqlserver.

Para ello añadimos la regla en iptables:

sudo iptables -A INPUT -i wlan0 -p tcp --destination-port 3306 -j ACCEPT

Ojo con la interfaz de red, donde pone wlan0 debes poner la tuya, puedes identificarla con ifconfig.

Guarda los cambios:

sudo /sbin/iptables-save

Tendrás una como esta indicando que todo está OK:

# Generated by iptables-save v1.6.1 on Tue May 12 12:25:46 2020
*filter
:INPUT ACCEPT [2044:2016232]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1606:135220]
-A INPUT -i wlan0 -p tcp -m tcp --dport 3306 -j ACCEPT
COMMIT
# Completed on Tue May 12 12:25:46 2020

Habilitar acceso remoto en mysql

Por motivos de seguridad, el acceso remoto a mysql viene desactivado por defecto.

Para habilitarlo, edita el archivo de configuración /etc/mysql/mysql.conf.d/mysqld.cnf

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

Bajo la entrada [mysqld], comenta las entradas «bind-address» y «skip-external-locking» añadiendo # al principio.

Debe quedar así:

[mysqld]
...
#skip-external-locking
#bind-address 127.0.0.1
...

El resto de líneas se quedan como están.

Guarda y cierra.

Solo queda reiniciar el servicio mysql

sudo /etc/init.d/mysql restart

[ ok ] Restarting mysql (via systemctl): mysql.service.

Comprobar acceso mysql

Para comprobar que todo es correcto, puedes conectar desde Terminal a mysql con «mysql -u <usuario> -h <ipservidor> -p«:

nusemod@blkmod:~$ mysql -u root -h 192.168.1.225 -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.29-0ubuntu0.18.04.1 (Ubuntu)

Copyright (c) 2000, 2020, 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>

Saludos!

Deja un comentario

Tu dirección de correo electrónico no será publicada.