Reset пароль root с неправильной конфигурацией mysql

Я установил xampp, я сделал настройки безопасности, но через некоторое время я забыл пароль root. У меня есть google it, как reset, проблема в том, что он не может создать файл с более низким уровнем тестирования, потому что он пытается получить доступ к пути Unix на моем Windows PC:), lol. xamp config.

resetroot.bat дает мне этот результат:

101108 15:37:23 [Warning] Can't create test file \usr\local\mysql\data\MYCOMPUTERNAME.lower-test
101108 15:37:23 [Warning] Can't create test file \usr\local\mysql\data\MYCOMPUTERNAME.lower-test
mysql\bin\mysqld.exe: Can't change dir to '\usr\local\\mysql\data\' (Errcode: 2)
101108 15:37:23 [ERROR] Aborting

101108 15:37:23 [Note] mysql\bin\mysqld.exe: Shutdown complete


Passwoerter fuer Benutzer "root" und "pma" wurden nicht geloescht!
Passwords for user "root" and "pma" were not deleted!

Press any key to continue . . . 

Файл .bat имеет следующие важные части:

PUSHD %~dp0
CD ..
mysql\bin\mysqld.exe --no-defaults --bind-address=127.0.0.1 --bootstrap --console --skip-grant-tables --skip-innodb --standalone resetroot.err 2>&1
IF ERRORLEVEL 1 GOTO FEHLER
GOTO KEINFEHLER

:FEHLER
TYPE resetroot.err
ECHO.
ECHO Passwoerter fuer Benutzer "root" und "pma" wurden nicht geloescht!
ECHO Passwords for user "root" and "pma" were not deleted!
GOTO WEITER

:KEINFEHLER
ECHO.
ECHO Passwoerter fuer Benutzer "root" und "pma" wurden geloescht.
ECHO Passwords for user "root" and "pma" were deleted.
ECHO.
ECHO Bitte den MySQL Server neu starten.
ECHO Please restart the MySQL server.
GOTO WEITER

:WEITER
DEL resetroot.err >nul 2>&1
DEL resetroot.sql >nul 2>&1
ECHO.

POPD
PAUSE

в каталоге mysql bin - файл my.ini

# Point the following paths to different dedicated disks
tmpdir           = "C:/xampp/tmp/"

Не знаю, откуда идет этот путь Unix и где его изменить, какой параметр.

Есть ли какой-либо другой способ для reset пароля пользователя mysql до тех пор, пока у меня не возникнут эти ошибки?

Ответ 1

Я бы посоветовал забыть файл bat и сделать это вручную:

  • Перейдите в папку xampp\mysql\bin\
  • Измените my.ini и вставьте skip-grant-tables ниже [mysqld]
  • Перезапустить MySQL
  • Установите новый пароль для вашего пользователя root, запустив UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root' в phpMyAdmin в базе данных mysql (или просто оставьте его так, если с MySQL нельзя получить доступ с удаленных хостов)

Ответ 3

Я сталкиваюсь с той же проблемой и просто обновляю пароль ниже SQL-запроса. С HeidiSQL (бесплатный редактор MySQL).

UPDATE mysql.user SET Password=PASSWORD('your_password') WHERE User='root'

Затем остановите панель управления mysql с xampp и запустите ее снова.

Ответ 4

Heyho

в вашем mysql-dir в xampp есть resetroot.bat. Для меня эта летучая мышь не работает, поэтому я немного ее модифицировал. (также метод skip-grant-tables не работал у меня при использовании xampp)

  • скачал файл myresetroot.bat: https://docs.google.com/file/d/0B122ZBOGf-9udnVkWjgzUERaZ2s/edit
  • скопируйте его в свой mysql-dir (где находится resetroot.bat)
  • завершение работы с mysqld
  • rund myresetroot.bat
  • теперь пароль root должен быть установлен на "foobar" (без кавычек)
  • измените пароль root после этого!

Greetz scotty86