XAMPP и Access denied for user 'root'@'localhost phpMyAdmin
Добавлено: 07 фев 2012, 17:04
Сегодня после запуска XAMPP и попытке войти в phpmyadmin увидел очень неприятное сообщение "Access denied for user 'root'@'localhost".
Причём вчера всё работало. А сегодня походу звук перфоратора соседа как-то повлиял на мускуль.
Погуглив, нашёл информацию, что сбрасывать пароль необходимо тут: http://localhost/security/xamppsecurity.php
Попробовал - не помогло.
Далее были советы с изменением в конфигурационном файле phpmyadmin и т.п. В общем ни к каким результатам это не привело.
Затем попробовал авторизоваться через adminer, и тоже "доступ запрещён".
Тут-то меня осенило, что это проблема не в настройках безопасности XAMPP или конфигурационном файле phpmyadmin, а необходимо сбрасывать пароль для root непосредственно mySQL.
Для этого:
1) Создайте файл, например, reset-pass.txt в корне диска C, со следующим содержанием:\
кстати, поле password можно оставлять пустым, и тогда получится так:
2) запустите cmd и выполните команду:
соответственно сначала выполнив
Всё, ваш пароль сброшен на тот, что указали в файле reset-pass.txt
Не знаю с чем это связано, но такое у меня уже не в первый раз на XAMPP.
Причём вчера всё работало. А сегодня походу звук перфоратора соседа как-то повлиял на мускуль.
Погуглив, нашёл информацию, что сбрасывать пароль необходимо тут: http://localhost/security/xamppsecurity.php
Попробовал - не помогло.
Далее были советы с изменением в конфигурационном файле phpmyadmin и т.п. В общем ни к каким результатам это не привело.
Затем попробовал авторизоваться через adminer, и тоже "доступ запрещён".
Тут-то меня осенило, что это проблема не в настройках безопасности XAMPP или конфигурационном файле phpmyadmin, а необходимо сбрасывать пароль для root непосредственно mySQL.
Для этого:
1) Создайте файл, например, reset-pass.txt в корне диска C, со следующим содержанием:\
- Код: Выделить всё
UPDATE mysql.user SET Password=PASSWORD('your_password') WHERE User='root';
FLUSH PRIVILEGES;
кстати, поле password можно оставлять пустым, и тогда получится так:
- Код: Выделить всё
UPDATE mysql.user SET Password=PASSWORD('') WHERE User='root';
2) запустите cmd и выполните команду:
- Код: Выделить всё
mysqld.exe --init-file=C:\\reset-pass.txt
соответственно сначала выполнив
- Код: Выделить всё
cd C:\xampp\mysql\bin
Всё, ваш пароль сброшен на тот, что указали в файле reset-pass.txt
Не знаю с чем это связано, но такое у меня уже не в первый раз на XAMPP.