web-dev-qa-db-ja.com

Windowsコンピューターでmy.cnfが見つかりません

私のコンピューターはWindows XPです。

ルートユーザーにすべての特権を戻すには、my.cnfを見つける必要があります。ルートユーザーの一部の特権を誤って削除しました。私はまだパスワードを持っているので、rootユーザーとしてMySQLにログインしても問題ありません。しかし、私はテーブルを変更することはできません。

88
Steven

私の答えは次のとおりです。

  1. Win+R ( 'run'のショートカット)、タイプservices.msc、 Enter
  2. 「MySQL56」などのエントリを見つけ、右クリックしてプロパティを選択します
  3. "D:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="D:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56のようなものが見えるはずです

完全な回答はこちら: https://stackoverflow.com/a/20136523/1316649

140
fstang

質問に答えるために、Windowsでは、my.cnfファイルはmy.iniと呼ばれる場合があります。 MySQLは、次の場所で(この順序で)検索します。

  • %PROGRAMDATA%\MySQL\MySQL Server 5.7\my.ini%PROGRAMDATA%\MySQL\MySQL Server 5.7\my.cnf
  • %WINDIR%\my.ini%WINDIR%\my.cnf
  • C:\my.iniC:\my.cnf
  • INSTALLDIR\my.iniINSTALLDIR\my.cnf

http://dev.mysql.com/doc/refman/5.7/en/option-files.html も参照してください

次に、構成ファイルを編集して、次のようなエントリを追加できます。

[mysqld]
skip-grant-tables

次に、MySQLサービスを再起動すると、ログインして必要な操作を実行できます。もちろん、設定ファイルでそのエントリをできるだけ早く無効にする必要があります!

http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html も参照してください

59
Bill Karwin

Windows 7の場所:C:\Users\All Users\MySQL\MySQL Server 5.5\my.ini

XPの場合:C:\Documents and Settings\All Users\MySQL\MySQL Server 5.5\my.ini

これらのファイルの上部には、my.cnfの場所を定義するコメントがあります。

10
Alberto

Mysql-Client(例:phpmyadmin)で次のクエリを実行すると、basedir(およびmy.cnf内)を見つけることができます

SHOW VARIABLES
4
digitaldonkey

このファイルを検索できます:resetroot.bat

それをダブルクリックするだけで、ルートアカウントがリセットされ、すべての特権がYESに変わります。

0
Treby