hnoguera@cliente:~$ mysql -h 10.0.0.143 -u cliente -p
Enter password:
ERROR 1130 (HY000): Host '10.0.0.15' is not allowed to connect to this MySQL server
Nota: si tratamos de acceder incluso desde el propio server MySQL a la consola de MySQL usando como destino de conexión la IP de cualquiera de las interfaces de red de servidor la respuesta será la misma. Con la configuración por defecto del servidor MySQL solo podremos acceder en modo local y apuntando a localhost o 127.0.0.1.
Estos son los pasos para habilitar la conexión remota desde un cliente determinado:
-
Entramos como root en el server MySQL, damos de alta un nuevo usuario
con el nombre que queramos usar con el cliente remoto al que le damos
acceso a una o varias de las bases de datos que haya creadas en el
servidor MySQL, desde una IP de cliente determinada y con un password
definido para el usuario a crear:
hnoguera@cliente:~$ mysql -h localhost -u root -p Enter password: mysql> GRANT SELECT, INSERT ON bdd.* TO 'nuevo_usuario'@'10.0.0.15' IDENTIFIED BY 'pass' ; Query OK, 0 rows affected (0.00 sec)
Nota: Acabamos de crear el usuario llamado “nuevo_usuario” y le hemos dado permisos de selección e inserción (SELECT, INSERT) a todas las tablas de la base de datos llamada “bdd” (bdd.*) desde la IP remota “10.0.0.15″ y con el password “pass”. En cuanto a los privilegios dados al usuario podemos elegir los que necesitemos -> tabla de privilegios que provee MySQL
Con el comando anterior se hacen todos los pasos a la vez, se crea el usuario con el password especificado, se le dan permisos de acceso y se especifica una IP desde la que ese usuario se podrá conectar de forma remota, pero esto no es todo para poder acceder de forma remota al server MySQL.
-
Lo siguiente es cambiar la configuración del archivo de configuración
mysql que está en /etc/mysql/my.cnf, y en la línea 47 tenemos:
bind-address = 127.0.0.1
En este parámetro se configura la IP de la interfaz local de escucha del servidor MySQL, por defecto la escucha se hace solo como localhost así que para que podamos acceder desde cualquier IP que tenga el servidor configurada necesitaremos cambiar la línea anterior por:
bind-address = 0.0.0.0
Nota: no es posible poner más de una IP como dirección de escucha así que no podemos configurar por ejemplo solo 2 de las 3 interfaces de red de nuestro server, serán o todas o solo una de ellas.
-
Ahora solo el servidor MySQL:
root@LAMP-squeeze:~# /etc/init.d/mysql restart Stopping MySQL database server: mysqld. Starting MySQL database server: mysqld.
-
Y probar que todo funciona correctamente desde el cliente habilitado:
hnoguera@cliente:~# mysql -h 10.0.0.143 -u nuevo_usuario -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 36 Server version: 5.1.49-3 (Debian) Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
No hay comentarios:
Publicar un comentario