У меня есть сервер MySQL (5.6), работающий на виртуальной машине Debian на моем локальном компьютере. Подключение к MySQL из командной строки localhost с помощью следующей команды работало должным образом:
mysql -uroot -ppassword
Первоначально, пытаясь подключиться к виртуальной машине удаленно с помощью MySQL Workbench, я получал сообщение об отказе в разрешении для своей корневой учетной записи, которое я решил, закомментировав директиву bind-address=localhost
в файле my.cnf
виртуальной MySQL. Сделав это и перезагрузившись, я смог подключиться удаленно, как и ожидалось.
Однако теперь у меня другая проблема - при попытке подключиться из командной строки в виртуальном окне (т. Е. Localhost) я получаю следующую ошибку:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Подключение через имя хоста, локальный петлевой IP (как IP4, так и IP6) и удаленно все работает:
mysql -uroot -ppassword -hhostname
mysql -uroot -ppassword -h127.0.0.1
Глядя на таблицу пользователей в базе данных, есть четыре учетные записи пользователя root:
root@localhost
root@127.0.0.1
root@::1
root@%
и они имеют правильные настройки, так что все выглядит хорошо.
Я запустил FLUSH PRIVILEGES
, перезагрузил MySQL, но не нашел решения.
РЕДАКТИРОВАТЬ
Вывод из mysql -uroot -ppassword -hlocalhost -ANe"SELECT USER(),CURRENT_USER();
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Вывод из mysql -uroot -ppassword -hhostname -ANe"SELECT USER(),CURRENT_USER();
+----------------+----------------+
| root@hostname | root@% |
+----------------+----------------+
Вывод из mysql -uroot -ppassword -h127.0.0.1 -ANe"SELECT USER(),CURRENT_USER();
+----------------+----------------+
| root@localhost | root@127.0.0.1 |
+----------------+----------------+