Permitir el acceso remoto a MariaDB en Ubuntu
Permitir el acceso remoto a MariaDB en Ubuntu.
De manera predeterminada, un servidor de base de datos MariaDB solo acepta conexiones del sistema en el cual esta instalado. Para que me entiendas, solo se admiten conexiones locales.
Si quieres conectar desde un sistema cliente de forma remota, no podrás hacerlo. En este articulo veremos como instalar nuestro propio servidor MariaDB en Ubuntu 18.04, y solucionar este problema.
Permitir el acceso remoto a MariaDB
Instalar MariaDB en Ubuntu 18.04
Para instalar MariaDB, tan solo debes ejecutar lo siguiente:
sudo apt update
sudo apt install mariadb-server mariadb-client
Una vez concluya la instalación, iniciamos y habilitamos el servicio para que arranque con el sistema.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Aseguramos la instalación de MariaDB.
sudo mysql_secure_installation
Enter current password for root (enter for none): Pulsa enter
Set root password? : Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? : Y
Disallow root login remotely? : Y
Remove test database and access to it? : Y
Reload privilege tables now? : Y
La instalación de MariaDB a concluido.
MariaDB
Configurar el acceso remoto a MariaDB
Como mencionamos anteriormente, todo intento de acceso remoto al servidor será denegado de forma predeterminada. Para habilitar el acceso remoto, debemos configurar una dirección de enlace.
Por ejemplo, si quieres conceder acceso a todas las direcciones IPv4, debes configurar la dirección de enlace como: 0.0.0.0. Esto permitirá que el servidor MariaDB acepte todas conexiones en todas las interfaces IPv4 del host.
En Ubuntu podemos encontrar el archivo de configuración en:
/etc/mysql/mariadb.conf.d/50-server.cnf
OJO!!!, también es posible que lo tengas en:
/etc/mysql/mysql.conf.d/mysqld.cnf
Abrimos el archivo con nuestro editor favorito, en este caso utilizamos nano.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
# alternativa...
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Busca la linea con el texto "bind-address".
# this is read by the standalone daemon and embedded servers
# this is only for the mysqld standalone daemon
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
# 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
#
# * Fine Tuning
Como puedes ver en el ejemplo anterior, esta definida la dirección 127.0.0.1 (es la ip local del host). Lo único que tenemos que hacer es sustituir 127.0.0.1 por 0.0.0.0.
# this is read by the standalone daemon and embedded servers
# this is only for the mysqld standalone daemon
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
#
# * Fine Tuning
Guarda el archivo y cierra el editor.
Reiniciamos MariaDB.
sudo systemctl restart mariadb.service
Como ultimo paso no olvides conceder permiso en el firewall.
A todas las ip entrantes:
sudo ufw allow 3306/tcp
Exclusivamente a una o varias ip.
sudo ufw allow from 192.168.1.2 to any port 3306
¡Felicidades!. Has instalado y configurado correctamente MariaDB con acceso remoto.
Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.
Read the full article