Linux環境下mysqlのrootパスワード忘れ解決方法


1.まず、サーバが安全な状態であることを確認します.つまり、MySQLデータベースに任意に接続できる人はいません.MySQLのrootパスワードを再設定している間、MySQLデータベースは完全にパスワード保護されていない状態であるため、他のユーザーも任意にMySQLの情報を登録・変更することができる.MySQLの外部ポートを閉鎖し、Apacheとすべてのユーザープロセスを停止する方法でサーバの準セキュリティ状態を実現できます.最も安全な状態は、サーバーのコンソール上で操作し、ネットワークケーブルを抜くことです.2.MySQLのログイン設定を変更するには:
vi /etc/my.cnf 

[mysqld]のセグメントにskip-grant-tablesを保存しviを終了する文を追加します.3.mysqldを再起動する
/etc/init.d/mysqld restart ( service mysqld restart )

4.MySQLのrootパスワードをログインして変更する
mysql> USE mysql ; 
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ; 
mysql> flush privileges ; 
mysql> quit

5.MySQLのログイン設定を変更する
vi /etc/my.cnf

さっき[mysqld]のセグメントに追加したskip-grant-tablesを削除して保存しviを終了します.6.mysqldを再起動
/etc/init.d/mysqld restart  ( service mysqld restart )

7.サーバーの正常な動作状態を回復すると、ステップ1の操作が逆になります.サーバの動作状態を復元します.