Muchos sitios web y aplicaciones alojan su servidor web y su base de datos en la misma máquina. Sin embargo, algunas organizaciones se están moviendo hacia un entorno distribuido. Un servidor de base de datos separado puede mejorar el rendimiento y la seguridad del hardware y le permite escalar los recursos rápidamente.
En este tutorial, le mostraremos cómo habilitar conexiones remotas a una base de datos MySQL.
Requisitos
- Un Ubuntu 20.04 VPS nuevo con MySQL 8 instalado en Atlantic.Net Cloud Platform
- Una contraseña de root configurada en su servidor
Paso 1:crear el servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 20.04 como sistema operativo con al menos 1 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor Ubuntu 20.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
apt-get update -y
Paso 2:configurar MySQL
Antes de comenzar, verifique la conexión de escucha de MySQL con el siguiente comando:
ss -tunlp | grep 3306
Deberías obtener el siguiente resultado:
tcp LISTEN 0 151 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=7753,fd=33))
Como puede ver, el servidor MySQL está escuchando en el host local en el puerto 3306. Eso significa que solo se puede acceder al servidor MySQL desde el host local.
Deberá configurar el servidor MySQL para escuchar una dirección IP externa donde se pueda acceder al servidor.
Para habilitar esto, edite el archivo mysqld.cnf:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
Busque la siguiente línea:
bind-address = 127.0.0.1
Y reemplácelo con la siguiente línea:
bind-address = 0.0.0.0
Guarde y cierre el archivo cuando haya terminado, luego, reinicie el servicio MySQL para implementar los cambios:
systemctl restart mysql
En este punto, el servidor MySQL está configurado para escuchar en una IP externa.
Paso 3:otorgar acceso al usuario desde el sistema remoto
En esta sección, crearemos una nueva base de datos y un nuevo usuario de base de datos y concederemos acceso al sistema remoto para conectarnos a la base de datos.
Primero, inicie sesión en el shell de MySQL con el siguiente comando:
mysql
Una vez que haya iniciado sesión, cree una base de datos llamada testdb y un usuario llamado testuser para un sistema remoto usando el siguiente comando:
CREATE DATABASE testdb; CREATE USER 'testuser'@'remote-server-ip' IDENTIFIED BY 'password';
A continuación, otorgue acceso al sistema remoto (remote-server-ip) para conectarse a una base de datos llamada testdb como testuser:
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'remote-server-ip';
A continuación, elimine los privilegios y salga del shell de MySQL con el siguiente comando:
FLUSH PRIVILEGES ; EXIT;
En el ejemplo anterior:
prueba de base de datos :El nombre de la base de datos.
usuario de prueba :El nombre del usuario.
ip-servidor-remoto :La dirección IP del sistema remoto.
Paso 4:verificar la conexión a la base de datos
En este punto, MySQL está configurado para permitir conexiones remotas desde la IP remota-servidor-ip.
Ahora, inicie sesión en el sistema remoto y conéctese al servidor MySQL con el siguiente comando:
mysql -u testuser -h remote-server-ip -p
Proporcione la contraseña para testuser y presione Enter. Si todo está configurado correctamente, podrá iniciar sesión en el servidor MySQL remoto. A continuación, enumere la base de datos con el siguiente comando:
show databases;
Debería ver el siguiente resultado:
+--------------------+ | Database | +--------------------+ | information_schema | | testdb | +--------------------+ 2 rows in set (0.01 sec)
Conclusión
En la guía anterior, aprendimos cómo habilitar la conexión remota de MySQL y otorgar acceso al sistema remoto para conectar la base de datos, y ahora puede alojar su aplicación utilizando una base de datos alojada en el servidor remoto. ¡Comience hoy mismo con una conexión remota MySQL en VPS Hosting de Atlantic.Net! Incluso podemos ayudarlo con su base de datos compatible con HIPAA.