萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> linux中如何正確的修改MySQL密碼

linux中如何正確的修改MySQL密碼

本文章是在介紹在linux系統中出現忘記了mysql密碼的解決辦法,有碰到此類問題的朋友可來看看找回密碼的方法。

如果你是沒有忘記密碼修改mysql密碼的方法有多,如下面的

UPDATE user 語句(回目錄)

這種方式必須是先用root帳戶登入mysql,然後執行:

1.如果您沒有忘記密碼的情況下,可以通過UPDATE直接編輯user表來修改密碼:進入數據庫

 代碼如下 復制代碼

mysql -u rootmysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;

忘記了密碼

在使用skip-grant-tables參數的同時,還要加上skip-networking參數:

 代碼如下 復制代碼

shell> mysqld_safe --skip-grant-tables --skip-networking &

接著使用SQL重置密碼後,記得去掉skip-networking,以正常方式重啟MySQL服務:

 代碼如下 復制代碼

 shell> /etc/init.d/mysqld restart

上面的方法需要重啟兩次服務,實際上還能更優雅一點,重啟一次即可:

首先需要把用到的SQL語句保存到一個文本文件裡(/path/to/init/file):

 代碼如下 復制代碼

UPDATE `mysql`.`user` SET `Password`=PASSWORD('yourpassword') WHERE `User`='root' AND `Host`= '127.0.0.1'; FLUSH PRIVILEGES;

接著使用init-file參數啟動MySQL服務,

 代碼如下 復制代碼

shell> /etc/init.d/mysql stop shell> mysqld_safe --init-file=/path/to/init/file &

此時,密碼就已經重置了,最後別忘了刪除文件內容,免得洩露密碼。


如果上面辦法你無法找回密碼可參考下面辦法

如果您已經忘記密碼:

 代碼如下 復制代碼

# /etc/init.d/mysql stop 1、結束當前正在運行的mysql進程。
# /usr/bin/mysqld_safe --skip-grant-tables 2、用mysql安全模式運行並跳過權限驗證。
# mysql -u root 3、重開一個終端以root身份登錄mysql。

mysql> use mysql;

 4、修改root用戶口令。

 代碼如下 復制代碼

Reading table information for completion 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('root') where User ='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0

mysql> exit

# /etc/init.d/mysql restart 5、結束mysql安全模式,用正常模式運行mysql。
mysql> update mysql.user set password=PASSWORD('新密碼') where User='root';

6、試試你新修改的口令

 代碼如下 復制代碼 mysql> flush privileges;
mysql> quit
copyright © 萬盛學電腦網 all rights reserved