По неизвестным науке причинам MySQL после инсталляции отказывается вопринимать пользователя root с заданным паролем. Выдается ошибка:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
зачем так сделано - неизвестно :-), но проблема носит, по всей видимости повсеместный характер. Вот решение:
1) запустить сервер с опцией --skip-grant-table. Можно просто в .ini файл дописать
строку skip-grant-table
2) выполнить следующие SQL предложения:
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('your_new_password') where USER='root';
mysql> FLUSH PRIVILEGES;
3) удалить строку skip-grant-tables из ini файла и запустить сервер.
Теперь можно подключиться с новым паролем:
# mysql -u root -p
Enter password: your_new_password
На самом деле возможен ещё один вариант возникновения подобной ошибки. Если в службах Windows осталась ссылка на старую версию MySQL неправильно удалённую. Если ВЫ скажем неверно удалили MySQL 4 со старым root и пытаетесь установить MySQL 5 то при попытке установить новый root вылезет ошибка 1045. Нужно через regedit удалить службу старого MySQL перезапустить машину и новый MySQL встанет без проблем.
ReplyDeleteДима скажи по какому запросу в regedit надо найти старую службу MySQL
ReplyDeleteсделайте одолжение , распишите детально где чего писать и где чего запускать
ReplyDeleteза 2 суток ни одной толковой и рабочей инструкции в сети так и не нашел