Назад | Перейти на главную страницу

Доступ запрещен для пользователя 'xxx'@'xxx.xxx.xxx.xxx'

Я знаю, что есть похожие вопросы, но я не нашел именно то, что искал. Вот что происходит, и это довольно странно:

[root@xxx xxx]# mysql -u profuser -ppwd -h 192.168.1.99
ERROR 1045 (28000): Access denied for user 'profuser'@'192.168.1.99' (using password: YES)

И 192.168.1.99 это мой собственный IP. Но когда я использую localhost или 127.0.0.1, все нормально:

[root@xxx xxx]# mysql -u profuser -ppwd -h 127.0.0.1
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 68
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> bye
[root@xxx xxx]# mysql -u profuser -ppwd -h localhost
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 69
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

я нашел этот вопрос, но это не помогло:

mysql> select host from user where user='profuser';
+--------------+
| host         |
+--------------+
| 127.0.0.1    | 
| 192.168.1.99 | 
| localhost    | 
+--------------+

Я добавил свой IP, как было сказано в другом вопросе.

Подходит ли хэш пароля для новой комбинации пользователь / хост? Настройте свой оператор выбора: select host, password from user where user='profuser';

В любом случае, чего вы пытаетесь достичь? Вы добавляете -h 192.168.1.99 флаг; в этом нет необходимости при локальном подключении (как вы обнаружили). Если вы хотите подключиться по сети, вам понадобится пользовательская спецификация, например 'root'@'192.168.1.%' или 'root'@'%', что-то, что разрешить удаленным хостам; если вы просто выполняете локальные подключения, вам не нужен -h.

При добавлении хоста вручную с помощью запроса типа INSERT INTO mysql.user ..., вы должны выпустить FLUSH PRIVILEGES команда, чтобы применить изменения.