linux中MySQL密碼的恢復方法

MySQL密碼的恢復方法之一mysql

1.首先確認服務器出於安全的狀態,也就是沒有人可以任意地鏈接MySQL數據庫。 由於在從新設置MySQL的root密碼的期間,MySQL數據庫徹底出於沒有密碼保護的 狀態下,其餘的用戶也能夠任意地登陸和修改MySQL的信息。能夠採用將MySQL對外的端口封閉,而且中止Apache以及全部的用戶進程的方法實現服務器的準安全狀態。最安全的狀態是到服務器的Console上面操做,而且拔掉網線。sql

2.修改MySQL的登陸設置: 
# vi /etc/my.cnf 
在[mysqld]的段中加上一句:skip-grant-tables 保存而且退出vi。數據庫

3.從新啓動mysqld 
# /etc/init.d/mysqld restart  ( service mysqld restart )ubuntu

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。ide

6.從新啓動mysqld 
# /etc/init.d/mysqld restart   ( service mysqld restart )ui

7.恢復服務器的正常工做狀態spa

將步驟一中的操做逆向操做。恢復服務器的工做狀態。操作系統

 

MySQL密碼的恢復方法之二

若是忘記了MySQL的root密碼,能夠用如下方法從新設置:

1. KILL掉系統裏的MySQL進程; 
killall -TERM mysqld

2. 用如下命令啓動MySQL,以不檢查權限的方式啓動; 
safe_mysqld --skip-grant-tables &

3. 而後用空密碼方式使用root用戶登陸 MySQL; 
mysql -u root

4. 修改root用戶的密碼; 
mysql> update mysql.user set password=PASSWORD('新密碼') where User='root'; 
mysql> flush privileges; 
mysql> quit 
從新啓動MySQL,就可使用新密碼登陸了

 

MySQL密碼的恢復方法三

有可能你的系統沒有 safe_mysqld 程序(好比我如今用的 ubuntu操做系統, apt-get安裝的mysql) , 下面方法能夠恢復

1. 中止mysqld; 
/etc/init.d/mysql stop
(您可能有其它的方法,總之中止mysqld的運行就能夠了)

2. 用如下命令啓動MySQL,以不檢查權限的方式啓動; 
mysqld --skip-grant-tables &

3. 而後用空密碼方式使用root用戶登陸 MySQL; 
mysql -u root

4. 修改root用戶的密碼; mysql> update mysql.user set password=PASSWORD('newpassword') where User='root'; mysql> flush privileges; mysql> quit 從新啓動MySQL/etc/init.d/mysql restart就可使用新密碼 newpassword 登陸了。

相關文章
相關標籤/搜索