##はじめに
PCの再起動をしたところMySQLにログインできなくなっていました
直接接続を試みてもERROR 1045 (28000): Access denied
rootのパスワードをリセットしたところ接続できたので、再起動によりパスワードが変えられてしまったようです(原因不明)
この記事ではrootパスワードのリセット方法を解説します
環境:
MySQL 5.6
Windows10
##MySQLを停止
スタートメニューで"サービス"と叩いて検索、サービスアプリを開きます
MySQL56を選び、サービスを停止
この時、プロパティを開き実行ファイルのパスをコピーしておきます
例)
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56
##MySQLの起動
コマンドプロンプトを管理者権限で開き、先ほどの実行ファイルパスの最後の"MySQL56"を削除し
"--skip-grant-table"を追加して
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --skip-grant-table
を実行
##MySQLに接続
別で新たにコマンドプロンプトを開いて
mysql -u root mysql
を実行
これでMySQLに接続できます
##パスワードの更新
UPDATE mysql.user SET Password=PASSWORD('新しいパスワード') WHERE User='root';
FLUSH PRIVILEGES;
を実行
UPDATE でroot アカウントのパスワードをリセット
FLUSH で付与テーブルをメモリーにリロードするようサーバーに通知して、パスワードの変更が認識されます
##確認
コマンドプロンプトをすべて閉じMySQLを停止
サービスアプリでMySQLを起動し、コマンドプロンプトで
mysql -u root -p
設定したパスワードで接続することができました