MySQLrootパスワードを忘れたソリューション


実際の操作でMySQLrootパスワードを忘れるのは頭が痛いことですが、焦らないでください.以下の文章はMySQLrootパスワードを忘れたときの解決策を紹介し、以下の手順で再設定することができます.以下は文章の詳細です.
まず、サーバが安全な状態であることを確認します.つまり、MySQLデータベースに任意に接続できる人はいません.MySQLのrootパスワードを再設定している間、MySQLデータベースは完全にパスワード保護されていない状態であるため、他のユーザーも任意にMySQLの情報を登録・変更することができる.MySQLの外部ポートを閉鎖し、Apacheとすべてのユーザープロセスを停止する方法でサーバの準セキュリティ状態を実現できます.最も安全な状態は、サーバーのコンソール上で操作し、ネットワークケーブルを抜くことです.
一、LINUX
1>MySQLのログイン設定の変更:

  
  
  
  
  1. # vi /etc/my.cnf  

[MySQLd]のセグメントにskip-grant-tablesという文を追加します.
例:
Javaコード

  
  
  
  
  1. [MySQLd]   
  2. datadir=/var/lib/MySQL   
  3. socket=/var/lib/MySQL/MySQL.sock   
  4. skip-name-resolve   
  5. skip-grant-tables   
  6. [MySQLd]   
  7. datadir=/var/lib/MySQL   
  8. socket=/var/lib/MySQL/MySQL.sock   
  9. skip-name-resolve   
  10. skip-grant-tables  

viを保存して終了します.
2>MySQLdの再起動

  
  
  
  
  1. # /etc/init.d/MySQLd restart   
  2. Stopping MySQL: [ OK ]   
  3. Starting MySQL: [ OK ]  

3>MySQLrootパスワードのログインと変更
Xmlコード

  
  
  
  
  1. # /usr/bin/MySQL   
  2. .   
  3. MySQL> USE MySQL ;   
  4. MySQL> UPDATE user SET Password = password('new-password') WHERE User = 'root' ;   
  5. MySQL> flush privileges ;   
  6. MySQL> quit   
  7. # /usr/bin/MySQL   
  8. .   
  9. MySQL> USE MySQL ;   
  10. MySQL> UPDATE user SET Password = password('new-password') WHERE User = 'root' ;   
  11. MySQL> flush privileges ;   
  12. MySQL> quit   
  13.  

4>MySQLのログイン設定を変更

  
  
  
  
  1. # vi /etc/my.cnf  

[MySQLd]のセグメントに追加したskip-grant-tablesを削除します.
viを保存して終了します.
5>MySQLdの再起動

  
  
  
  
  1. # /etc/init.d/MySQLd restart   
  2. Stopping MySQL: [ OK ]   
  3. Starting MySQL: [ OK ]  

二、WINDOWS
1>システム管理者としてシステムにログインします.
2>cmdを開く-net start MySQLが起動しているかどうかを確認します.起動したらNetstop MySQLを停止します
3>MySQLはd:usrlocalMySQL 4binにインストールされています.
4>権限チェックをスキップしてMySQLを起動する.
d:\usr\local\MySQL4\bin\MySQLd-nt –skip-grant-tables
5>cmdを再開します.d:usrlocalMySQL 4binの下に進みます.
d:\usr\local\MySQL4\bin\MySQLadmin -uroot flush-privileges password “newpassword”
d:usrlocalMySQL 4binMySQLadmin-u root-p shutdownパスワードの再入力を求めます.
6>cmdでnet start MySQL
7>できました.
附:MySQL 4.1以上のバージョンのパスワードエラーの解決方法
1 # SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
2 # FLUSH PRIVILEGES;
3,MySQLデータベース修復

  
  
  
  
  1. myisamchk -r -q d:\MySQL\data\latin1\*  

rは修復を表す
qは高速を表す
d:MySQLdatalatin 1*データベース内*はすべてのファイルを表します
以上、MySQLのrootパスワードのリセットについてご紹介しましたので、ご収穫をお待ちしております.