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

2021-09-10 12:08:43 字數 3275 閱讀 7001

方法一:

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

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

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

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

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

2.修改mysql的登入設定: 

# vi /etc/my.cnf

[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

is3 to server version: 3.23.56

type

'help;

' or '\h'

for help. type '\c'

to clear the buffer.

mysql>use mysql ;

reading table information

forcompletion of table and column names

you can turn off

this feature to get a quicker startup with -a

database changed

mysql> update 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 ]

方法二:

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

1. kill掉系統裡的mysql程序;

killall -term mysqld 【停掉服務也行,反正先停掉mysql】

2. 用以下命令啟動mysql,以不檢查許可權的方式啟動;

safe_mysqld --skip-grant-tables &

如果找不到,可以啟動mysql服務,再

ps -axu | grep mysql

可以看到 ==》

/bin/sh /phpstudy/mysql/bin/mysqld_safe --datadir=/phpstudy/data --pid-file=/phpstudy/data/vm_113_168_centos.pid

可以看到mysqld_safe 在什麼位置

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

mysql -u root

4. 修改root使用者的密碼;

mysql> update mysql.user set password=password('

新密碼') where user='

root';

mysql>flush privileges;

mysql> quit

重新啟動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

(您可能有其它的方法,總之執行mysqld就可以了)

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

切記:

如果你還是看不到許可權,那麼一定要看一下user裡面的使用者許可權分配。

posted @

2016-01-04 23:09

hongxinerke 閱讀(

...)

編輯收藏

linux下啟動與修改mysql的root密碼

環境fedora25 使用yum安裝完成mysql社群版版本後,通過命令 myslq u root p登陸資料庫,提示1045 錯誤,因為密碼不正確。沒辦法,只能修改配置檔案的方法來解決這個問題,該解決方法適用忘記密碼的情況 1 停止mysql服務 sudo service mysql stop 2...

ubuntu下獲得linux命令的root許可權

安裝完ubuntu,預設是普通使用者許可權。習慣了windwos裡面的管理員許可權的使用,不用root許可權感覺不爽。改個檔案很麻煩。但是ubuntu中root沒法登入。應該是沒有設定password。在終端中輸入 sudo passwd root enter new unix password 在...

windows下重置mysql5的root密碼

1 殺死mysqld程序。2 如果你丟失或忘記root密碼,你可以用 skip grant tables重啟mysqld來更改密碼。此段文字引述自mysql 5.1手冊 cmd下 執行 mysqld skip grant tables 3 mysql use mysql database chang...