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
rootusuario usando el siguiente comando:# mysql -u root -pSe le solicitará su contraseña raíz de MySQL.
Nota :Si obtiene acceso a MySQL sin ingresar una contraseña, considere ejecutar
mysql_secure_installationscript, 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
GRANTComando en el siguiente formato para habilitar el acceso para el usuario remoto. Asegúrese de cambiar1.2.3.4a la dirección IP que obtuvo anteriormente, ymy_passworda la contraseña que deseafooUserusar:mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';Esta declaración otorga
ALLpermisos 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@localhostno es lo mismo que[email protected]. Si desea que ambos usuarios tengan los mismos permisos, debe duplicar los permisos. -
No recomendamos otorgar
ALLpermisos Para usuarios estándar, recomendamos otorgarGRANT SELECT,INSERT,UPDATE,DELETEpermisos. -
Para otorgar acceso solo a una tabla específica, puede usar
database.tabledominio. Por ejemplo, en el paso anterior, podría usarfooDatabase.fooTableen 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
mysqlpara el número de puerto.