Este artículo explica cómo configurar un usuario en su servidor MySQL® para conectarse a una base de datos MySQL de forma remota.
Nota :El artículo le muestra cómo conectarse a una instancia de MySQL local a un servidor. Para conocer los pasos correspondientes a las bases de datos en la nube, consulte Conectarse a una instancia de base de datos en la nube.
Para realizar estos pasos, debe tener acceso al servidor local para iniciar sesión como root
usuario de MySQL.
Recuperar su dirección IP
Necesita saber la dirección del Protocolo de Internet (IP) de la computadora desde la cual se está conectando. Puede recuperar esta información visitando uno de los siguientes sitios:
- https://icanhazip.com
- https://www.whatismyip.com
Otorgar acceso
Realice los siguientes pasos para otorgar acceso a un usuario desde un host remoto:
-
Inicie sesión en su servidor MySQL localmente como
root
usuario usando el siguiente comando:# mysql -u root -p
Se le solicitará su contraseña raíz de MySQL.
Nota :Si obtiene acceso a MySQL sin ingresar una contraseña, considere ejecutar
mysql_secure_installation
script, que establece una contraseña raíz de MySQL y actualiza otras configuraciones para aumentar la seguridad. Los servicios administrados de Microsoft SQL Server pueden ayudarlo a administrar sus instancias de servidor SQL. -
Utilice una
GRANT
Comando en el siguiente formato para habilitar el acceso para el usuario remoto. Asegúrese de cambiar1.2.3.4
a la dirección IP que obtuvo anteriormente, ymy_password
a la contraseña que deseafooUser
usar:mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
Esta declaración otorga
ALL
permisos para el nuevo usuario cuando el usuario se conecta desde la dirección IP especificada usando la contraseña especificada.
Probar la conexión de forma remota
Para probar la conexión de forma remota, acceda al servidor MySQL desde otro servidor Linux®. El siguiente ejemplo usa 44.55.66.77
como la dirección IP del servidor MySQL:
# mysql -u fooUser -p -h 44.55.66.77
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> _
Consideraciones
Cuando configure un usuario remoto, tenga en cuenta la siguiente información:
-
Un usuario local es diferente de un usuario remoto. Por ejemplo,
fooUser@localhost
no es lo mismo que[email protected]
. Si desea que ambos usuarios tengan los mismos permisos, debe duplicar los permisos. -
No recomendamos otorgar
ALL
permisos Para usuarios estándar, recomendamos otorgarGRANT SELECT,INSERT,UPDATE,DELETE
permisos. -
Para otorgar acceso solo a una tabla específica, puede usar
database.table
dominio. Por ejemplo, en el paso anterior, podría usarfooDatabase.fooTable
en lugar defooDatabase
. -
Si usa iptables, debe agregar una entrada a su regla de firewall para el puerto 3306 del Protocolo de control de transmisión (TCP). Puede usar el nombre
mysql
para el número de puerto.