linux 下mysql忘記密碼

2021-06-20 06:40:22 字數 1465 閱讀 8583

1.首先確認伺服器出於安全的狀態,也就是沒有人能夠任意地連線mysql資料庫。

因為在重新設定mysql的root密碼的期間,mysql資料庫完全出於沒有密碼保護的

狀態下,其他的使用者也可以任意地登入和修改mysql的資訊。可以採用將mysql對

外的埠封閉,並且停止apache以及所有的使用者程序的方法實現伺服器的準安全

狀態。最安全的狀態是到伺服器的console上面操作,並且拔掉網線。

2.修改mysql的登入設定:

# vi /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables

例如:

[mysqld] 

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

skip-grant-tables

儲存並且退出vi。

3.重新啟動mysqld

# /etc/init.d/mysqld restart

stopping mysql: [ ok ]

starting mysql: [ ok ]

4.登入並修改mysql的root密碼

# /usr/bin/mysql 

welcome to the mysql monitor. commands end with ; or \g.

your mysql connection id is 3 to server version: 3.23.56

type 'help;' or '\h' for help. type '\c' to clear the buffer.

mysql> update mysql.user set password = password ( 'new-password' ) where user = 'root' ;

query ok, 0 rows affected (0.00 sec)

rows matched: 2 changed: 0 warnings: 0

mysql> flush privileges ;

query ok, 0 rows affected (0.01 sec)

mysql> quit

bye

5.將mysql的登入設定修改回來

# vi /etc/my.cnf

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

儲存並且退出vi。

6.重新啟動mysqld

# /etc/init.d/mysqld restart

stopping mysql: [ ok ]

starting mysql: [ ok ]

work for fun,live for love!

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,以不檢查許可...

linux下MySql忘記密碼

具體步驟如下 修改mysql的配置檔案 預設為 etc my.cnf 在 mysqld 下新增一行skip grant tables 儲存配置檔案後,重啟mysql服務 service mysqld restart 再次進入mysql命令列 mysql uroot p,輸入密碼時直接回車,就會進入m...