MySQL如何重置root密碼
1. 前言
忘記你的MySQL root密碼? 別擔(dān)心,它發(fā)生在我們所有人身上。
在本教程中,我們將向您展示如何重置MySQL root密碼,以防您忘記密碼。 本教程適用于任何現(xiàn)代Linux發(fā)行版,如Ubuntu 18.04、CentOS 7、Debian等等。
2. 準(zhǔn)備工作
在繼續(xù)執(zhí)行以下步驟之前,請(qǐng)確保以具有sudo權(quán)限的用戶身份登錄服務(wù)器。
根據(jù)您在系統(tǒng)上運(yùn)行的MySQL或MariaDB服務(wù)器版本,您將需要使用不同的命令來(lái)恢復(fù)root密碼。
你可以通過(guò)以下命令查到你的mysql版本:
- [root@zcwyou ~]# mysql --version
如果你的系統(tǒng)中已經(jīng)安裝了MySQL,輸出將如下所示:
- mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1
請(qǐng)務(wù)必記下您正在運(yùn)行的MySQL或MariaDB版本。
3. 怎么重置MySQL或MariaDB的root密碼
按以下教程步驟重置MySQL密碼
要更改root密碼,首先我們需要停止MySQL服務(wù)器。 為此,請(qǐng)鍵入以下命令:
- sudo systemctl stop mysql
怎么重置MySQL或MariaDB的root密碼
4. 略過(guò)grant授權(quán)表啟動(dòng)mysql/MariaDB服務(wù)
啟用--skip-grant-tables選項(xiàng)后,任何人都可以在沒(méi)有密碼和所有權(quán)限的情況下連接到數(shù)據(jù)庫(kù)服務(wù)器。
要啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器而不加載grant授權(quán)表,請(qǐng)鍵入:
- [root@zcwyou ~]# mysqld_safe --skip-grant-tables &
上面命令末尾的&符號(hào)將導(dǎo)致程序在后臺(tái)運(yùn)行,因此我們可以繼續(xù)使用shell。
5. 登錄`mysql`命令行界面
現(xiàn)在,您可以以root用戶身份連接到數(shù)據(jù)庫(kù)服務(wù)器,而不會(huì)提示您輸入密碼:
- [root@zcwyou ~]# mysql -u root
6. 重設(shè)mysql root密碼
如果您有MySQL 5.7.6及更高版本或MariaDB 10.1.20及更高版本,請(qǐng)運(yùn)行以下命令:
- mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MY_NEW_PASSWORD';
- mysql> FLUSH PRIVILEGES;
如果ALTER USER語(yǔ)句不起作用,請(qǐng)嘗試直接修改用戶表:
- mysql> UPDATE mysql.user SET authentication_string = PASSWORD('MY_NEW_PASSWORD')
- mysql> WHERE User = 'root' AND Host = 'localhost';
- mysql> FLUSH PRIVILEGES;
如果您有MySQL 5.7.5及更早版本或MariaDB 10.1.20及更早版本,請(qǐng)運(yùn)行以下命令:
- mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MY_NEW_PASSWORD');
- mysql> FLUSH PRIVILEGES;
在這兩種情況下,如果一切順利,您應(yīng)該看到以下輸出:
- Query OK, 0 rows affected (0.00 sec)
7. 停止Mysql數(shù)據(jù)庫(kù)和重新啟動(dòng)正常模式
現(xiàn)在,我們已經(jīng)重置了Mysql 數(shù)據(jù)庫(kù)的密碼,我們需要重新啟動(dòng)到正常模式
使用以下命令停止數(shù)據(jù)庫(kù)運(yùn)行:
- [root@zcwyou ~]# mysqladmin -u root -p shutdown
啟動(dòng)mysql數(shù)據(jù)庫(kù):
- [root@zcwyou ~]# systemctl start mysql
啟動(dòng)MariaDB數(shù)據(jù)庫(kù)
- [root@zcwyou ~]# systemctl start mariadb
8. 驗(yàn)證新密碼
輸入以下命令,驗(yàn)證剛剛設(shè)置的新密碼:
- [root@zcwyou ~]# mysql -u root -p
提示你需要輸入剛剛設(shè)置的新密碼,如無(wú)意外,你應(yīng)該可以正常登錄到數(shù)據(jù)庫(kù)中。
9. 結(jié)論
在本教程中,您學(xué)習(xí)了如何重置MySQL或MariaDB root密碼。 確保您的新root密碼足夠復(fù)雜,并將其保存在安全的地方。