忘記MySQL的root密碼怎麽辦(Centos)

今天在linux系統中安裝了mysql數據庫,結果當時對于全命令的不怎麽懂所以很多地方是亂設置的,雖然有參考一些教程來做,但我還是把mysql的root密碼設置得連自己都不記得了,于時我又找了一些找回root密碼的方法,下面整理出來與各位分享一下。

恢複方法之一

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

2、修改MySQL的登錄設置;

代碼如下

vim /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables 保存並且退出vim。

3.重新啓動mysqld;

代碼如下

service mysqld restart # 或 /etc/init.d/mysqld restart

4、登錄並修改MySQL的root密碼;

代碼如下

mysql> USE mysql ;
mysql> UPDATE user SET Password = password ('new-password') WHERE User = 'root' ;
mysql> flush privileges ;
mysql> quit www.111cn.net

5、將MySQL的登錄設置修改回來;

代碼如下

vim /etc/my.cnf

將剛才在[mysqld]的段中加上的skip-grant-tables刪除;

保存並且退出vim。

6、重新啓動mysqld;

代碼如下

service mysqld restart # 或 /etc/init.d/mysqld restart

7、恢複伺服器的正常工作狀態;

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

恢複方法之二(推薦)

如果忘記了MySQL的root密碼,可以用以下方法重新設置:

1、 KILL掉系統裏的MySQL進程; www.111cn.Net

代碼如下

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,就可以使用新密碼登錄了。

恢複方法三

有可能你的系統沒有 safe_mysqld 程序(比如我現在用的 ubuntu操作系統, apt-get安裝的mysql) , 下面方法可以恢複

1、停止mysqld;

代碼如下

service mysqld stop # 或 /etc/init.d/mysqld 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

代碼如下

servcie mysqld restart # 或 /etc/init.d/mysql restart

就可以使用新密碼 newpassword 登錄了。

實踐心得:

不知怎麽回事,當使用命令

代碼如下

update mysql.user set password=PASSWORD('snsgou$123456') where User='root';

設置root秘密爲 snsgou$123456 時,該密碼始終是 登錄失敗!

當設置成 123456 這樣純數字密碼時,登錄成功!

隨後的解決方案/技巧:

先把root密碼設置成比較簡單的純數字的,如 123456,然後再通過 phpMyAdmin工具把root的密碼設置成稍複雜點的密碼!大功告成!

phpMyAdmin返回的 sql語句爲:

代碼如下

SET PASSWORD FOR 'root'@'localhost' = PASSWORD( '*********' )

更多相關文章
  • 文章以centos爲實例來給各位同學介紹在Centos下忘記mysql的root密碼的一些解決方法,文章主要是講到了--skip-grant-tables這一句,然後對表進行相關操作了,希望此文章對各位同學有所幫助.
  • 以前有講過在linux中忘記了mysql的root密碼的找回密碼,下面我來介紹windows2003中不記得root密碼的解決辦法.先我們要進入你的mysql伺服器中,利用net stop mysql 把mysql停
  • 本文章來給各位同學介紹一下關于mysql的root密碼丟失重置之ERROR 1045 (28000)問題的解決辦法,希望碰到此問題的同學可進入參考.最新版的5.5.15的mysql在windows下安裝到是蠻順利(還
  • 修改root密碼最簡單的方法就是圖形式模式了,下面我來介紹利用phpmyadmin修改mysql的root密碼的方法,有需要了解的朋友可進入參考.首先用root賬號登陸phpmyadmin,然後點擊左側進入mysql數據庫,在頂部點擊“mysql”進入sql輸入界面.輸入以下命令: 代碼如下 upd
  • 在Xampp中mysql默認密碼是空的,如果你要設置密碼我們可以直接使用Xampp中的mysqladmin.exe命令來進行修改密碼,修改之後我們在Xampp自帶的phpmyadmin中也可加密碼.MySQL 的“root”用戶默認狀態是沒有密碼的,所以在 PHP 中您可以使用 mysql_conn ...
  • XAMPP修改mysql的root密碼phpmyadmin無法登陸
    phpmyadmin是一款WEB版的mysql數據庫管理工具,他可以對mysql數據庫進行
  • windows中忘記mysql root密碼怎麽辦,經常有朋友都會把自己伺服器上的mysql密碼忘了,下面我來介紹恢複mysql root密碼的方法. 解決辦法方法一1.停止MYSQL服務開始->運行 cmd,在命令提示符窗口輸入 net stop mysql2.切換當前目錄到mysql安裝路 ...
  • 今天在伺服器中安裝好了一個mysql伺服器了,起初是配置好的mysql的root密碼了,但經過一些軟件的優化之後把root密碼改成了空了,因爲剛安裝好的環境沒有像mysql管理工具了,所以只有在命令模式下使用mysqladmin進行修改了,下面111cn站長爲各位介紹一下mysql命令模式修改mys
一周排行