sql >> Base de Datos >  >> RDS >> Mysql

El host 'xxx.xx.xxx.xxx' no puede conectarse a este servidor MySQL

Posiblemente una medida de seguridad. Podría intentar agregar una nueva cuenta de administrador:

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
    ->     WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
    ->     WITH GRANT OPTION;

Aunque, como han señalado Pascal y otros, no es una gran idea tener un usuario con este tipo de acceso abierto a cualquier IP. Si necesita un usuario administrativo, use root y déjelo en localhost. Para cualquier otra acción, especifique exactamente los privilegios que necesita y limite la accesibilidad del usuario como Pascal sugiere a continuación.

Editar:

De las preguntas frecuentes de MySQL:

Si no puede averiguar por qué se le denegó el acceso, elimine de la tabla de usuarios todas las entradas que tengan valores de host que contengan comodines (entradas que contengan caracteres '%' o '_'). Un error muy común es insertar una nueva entrada con Host='%' yUser='some_user', pensando que esto le permite especificar localhost para conectarse desde la misma máquina. La razón por la que esto no funciona es que los privilegios predeterminados incluyen una entrada con Host='localhost' y User=''. Debido a que esa entrada tiene un valor de host 'localhost' que es más específico que '%', ¡se usa con preferencia a la nueva entrada cuando se conecta desde localhost! El procedimiento correcto es insertar una segunda entrada con Host='localhost' yUser='some_user', o eliminar la entrada con Host='localhost' yUser=''. Después de eliminar la entrada, recuerde emitir una instrucción FLUSH PRIVILEGES para volver a cargar las tablas de permisos. Consulte también la Sección 5.4.4, “Control de acceso, Etapa 1:Verificación de la conexión”.