这篇文章上次修改于 1238 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

1.首先確認伺服器出於安全的狀態,也就是沒有人能夠任意地連接MySQL資料庫。 因為在重新設置MySQL的root密碼的期間,MySQL資料庫完全出於沒有密碼保護的 狀態下,其他的使用者也可以任意地登錄和修改MySQL的資訊。可以採用將MySQL對外的埠封閉,並且停止Apache以及所有的使用者進程的方法實現伺服器的准安全狀態。最安全的狀態是到伺服器的Console上面操作,並且拔掉網線。

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 authentication_string=password("123456789") 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.恢復伺服器的正常工作狀態

將步驟一中的操作逆向操作。恢復伺服器的工作狀態。