Доступ запрещен для пользователя '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, как советовали в другом вопросе.
2 ответа
Совпадает ли хэш пароля для нового пользователя / хоста? Измените ваше выбранное заявление: 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
Команда применить изменения.