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 登陸了。