Linux下忘記MySQL的root密碼的解決方法

2021-09-05 09:16:16 字數 1890 閱讀 3311

恢復方法之一

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

2、修改mysql的登入設定;

vim /etc/my.cnf

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

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程序; 

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,以不檢查許可權的方式啟動; 

/usr/local/mysql/bin/mysqld --skip-grant-tables &

3、然後用空密碼方式使用root使用者登入 mysql; 

/usr/local/mysql/bin/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 登入了。

linux 下mysql忘記密碼

1 首先確認伺服器出於安全的狀態,也就是沒有人能夠任意地連線mysql資料庫。因為在重新設定mysql的root密碼的期間,mysql資料庫完全出於沒有密碼保護的 狀態下,其他的使用者也可以任意地登入和修改mysql的資訊。可以採用將mysql對 外的埠封閉,並且停止apache以及所有的使用者程序...

Linux下Mysql忘記密碼

確認只有你能登入這台機器,因為過程中mysql出於無密碼登入狀態,任何有這台機器許可權的人都可能進來搞破壞,最好的做法就是拔掉網線。root centos6 vi etc my.cnf mysqld skip grant tables default character set utf8 datad...

linux下mysql忘記密碼

有可能你的系統沒有 safe mysqld 程式 比如我現在用的 ubuntu作業系統,apt get安裝的mysql 下面方法可以恢復 1.停止mysqld sudo etc init.d mysql stop 或者service mysqld stop 2.用以下命令啟動mysql,以不檢查許可...