Access denied for user 'user_test'@'localhost' (using password: YES)

27.05.2014
- вот такую ошибку я лицезрел после переноса сайта на VDS.
Естественно самой распространенной причиной такой проблемы являются неверные настройки доступа (логин или пароль). Но тем, кто уже все это проверил, может быть поможет и мой опыт.

Сначала отмечу, что пользователя я добавлял прямым SQL запросом через mysql.
Вот код:

1
GRANT ALL ON db_test.* TO user_test@'%' IDENTIFIED BY 'Pass12%34Word';

Первая проблема оказалась в том, что помимо user_test@'%' , нам еще нужно создать user_test@'localhost'. Т.е. выполнить второй запрос:

1
GRANT ALL ON db_test.* TO user_test@'localhost' IDENTIFIED BY 'Pass12%34Word';

Но и на этом оказалось не все, вторая проблема оказалось в пароле, в нм используется спец.символ "%" - его использование в паролях неприемлемо, что касается и символа "_".

Для того, что бы изменить пароль нужно выполнить две SQL команды:

1
2
USE mysql;
UPDATE user SET Password = PASSWORD('Pass1234Word') WHERE user=' user_test';


Категории: SQL, Linux, Centos
Яндекс.Метрика