Я пытался решить эту проблему в течение прошлых 3 ч. Я только что настроил сервер MySQL на своем выделенном корневом сервере, под управлением 14.04-минимальная Ubuntu. У меня нет проблемы при входе в систему как корень где угодно - он работает просто великолепно на командной строке, phpMyAdmin или сценарии PHP.
Поскольку я не хотел использовать все свои сценарии в качестве пользователя root, я создал новый с помощью этой команды:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER ON *.*
'myUser'@'localhost' IDENTIFIED BY 'myPassword';
Пользователь был успешно создан, и я могу войти в систему со своим паролем из командной строки. Однако это, кажется, невозможно получить доступ к MySQL с другим пользователем, чем корень от чего-то, что не является командной строкой.
Сначала я думал, что это могла бы быть общая проблема хоста, где необходимо использовать обоих %
и localhost
в mysql.user базе данных для доступа к нему снаружи консоли. Но это не работало. Я даже добавил две записи хоста, которые также имеет пользователь root (hostname
, ::1
), но я всегда получаю типичное Error #1045 - Cannot Log in to MySQL server
. То, что я также попробовал, должно непосредственно соединиться в моих сценариях (или phpMyAdmin) или к IP-адресу сервера или к 127.0.01 вместо localhost - без успеха.
Таким образом, вот текущий статус:
root
от консоли: Работы.root
от чего-либо еще: Работы.myUser
от консоли: Работы.myUser
от чего-либо еще: не работает.У кого-либо есть идея, что могло бы вызвать эту проблему?
Наконец, это - ответ, (см. комментарии). Я поместил его здесь для маркировки отвеченного вопроса. Некоторые специальные символы в пароле не могут быть переданы правильно php. Попробуйте регулярным паролем (набор битов ASCII 7, никакие символы управления).