Я перешел по этой ссылке (http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html), чтобы сбросить забытый пароль на сервере mysql на компьютере с Windows.
Я получаю следующую ошибку:
C:\>"C:\Server\Mysql\bin\mysqld" --defaults-file="C:\Server\Mysql\my.ini" --init
-file=C:\\mysql-init.txt
100725 23:45:35 [Warning] '--default-character-set' is deprecated and will be re
moved in a future release. Please use '--character-set-server' instead.
100725 23:45:35 [Note] Plugin 'FEDERATED' is disabled.
100725 23:45:36 InnoDB: Operating system error number 5 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory. It may also be you have created a subdirectory
InnoDB: of the same name as a data file.
InnoDB: File name .\ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
Чтобы выполнить указанную выше команду, я вошел в интерпретатор командной строки как администратор.
Я попытался запустить с параметром --datadir и получил в журнале следующий результат:
C:\>"C:\Server\Mysql\bin\mysqld" --datadir="C:\Server\Mysql" --defaults-file="C:
\Server\Mysql\my.ini" --console --init-file=C:\\mysql-init.txt
100726 10:57:26 [Warning] '--default-character-set' is deprecated and will be re
moved in a future release. Please use '--character-set-server' instead.
100726 10:57:26 [Note] Plugin 'FEDERATED' is disabled.
C:\Server\Mysql\bin\mysqld: Table 'mysql.plugin' doesn't exist
100726 10:57:26 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgr
ade to create it.
100726 10:57:26 InnoDB: Started; log sequence number 0 44233
100726 10:57:26 [ERROR] C:\Server\Mysql\bin\mysqld: unknown variable 'defaults-f
ile=C:\Server\Mysql\my.ini'
100726 10:57:26 [ERROR] Aborting
100726 10:57:26 InnoDB: Starting shutdown...
100726 10:57:31 InnoDB: Shutdown completed; log sequence number 0 44233
100726 10:57:31 [Note] C:\Server\Mysql\bin\mysqld: Shutdown complete
как упоминалось выше, когда я пытался запустить файл mysql_upgrade, этого не произошло, так как он требует входа в систему.
я нашел этот, попробовал, и это сработало.
Решение заключалось в том, чтобы убедиться, что --defaults-file
- первый параметр в цепочке.
Для меня это было НЕ работай:
mysqld --init-file=C:/mysql-init.txt --defaults-file="C:/Program Files/MySQL/MySQL Server 5.5/my.ini" --datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/" --console
но этот РАБОТАЛ:
mysqld --defaults-file="C:/Program Files/MySQL/MySQL Server 5.5/my.ini" --init-file=C:/mysql-init.txt --datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/" --console
Проверьте разрешения на вашем C:\Server\Mysql
каталог. Убедитесь, что у вашего пользователя есть доступ; у администраторов нет волшебных разрешений на все, они просто имеют право дайте разрешение на что угодно в локальной системе.
Кажется, MySQL не может найти каталог данных. Попробуйте снабдить его --datadir
Даже если вы вошли в систему как администратор, это не означает, что процесс mysqld имеет доступ к этим папкам. Это почти похоже на то, что вы запускаете это в Vista или Windows 7, если я не ошибаюсь. Попробуйте отключить DEP и повторите попытку (когда вы увидите cmd.exe, щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора, а не просто щелкните его левой кнопкой мыши»)