欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文詳解如何重置你的MySQL或MariaDB的root密碼

 更新時(shí)間:2024年10月29日 11:12:25   作者:白如意i  
本文主要介紹了如何重置MySQL和MariaDB的root密碼,當(dāng)你忘記或者丟失了數(shù)據(jù)庫(kù)的root密碼時(shí),只要你可以訪問(wèn)服務(wù)器并擁有一個(gè)sudo-enabled用戶賬戶,你就可以恢復(fù)訪問(wèn)權(quán)限并重置密碼,需要的朋友可以參考下

簡(jiǎn)介

最好的人也會(huì)忘記密碼。如果您忘記或丟失了 MySQL 或 MariaDB 數(shù)據(jù)庫(kù)的 root 密碼,只要您可以訪問(wèn)服務(wù)器并擁有一個(gè) sudo-enabled 用戶賬戶,您仍然可以獲得訪問(wèn)權(quán)限并重置密碼。

本教程將介紹如何重置較舊和較新版本的 MySQL 和 MariaDB 的 root 密碼。

先決條件

要恢復(fù) root MySQL/MariaDB 密碼,您需要:

  • 訪問(wèn)運(yùn)行 MySQL 或 MariaDB 的 Linux 服務(wù)器,并擁有一個(gè) sudo 用戶。

步驟 1 —— 確定數(shù)據(jù)庫(kù)版本

大多數(shù)現(xiàn)代 Linux 發(fā)行版都附帶了 MySQL 或 MariaDB,后者是一個(gè)流行的兼容 MySQL 的替代品。根據(jù)使用的數(shù)據(jù)庫(kù)及其版本,您需要使用不同的命令來(lái)恢復(fù) root 密碼。

您可以使用以下命令檢查您的版本:

mysql --version

對(duì)于 MySQL,您將看到如下輸出:

[secondary_label MySQL output]
mysql  Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using  EditLine wrapper

對(duì)于 MariaDB,您將看到如下輸出:

[secondary_label MariaDB output]
mysql  Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1

記下您正在運(yùn)行的數(shù)據(jù)庫(kù)和版本,因?yàn)槟院髸?huì)用到它們。接下來(lái),您需要停止數(shù)據(jù)庫(kù),以便手動(dòng)訪問(wèn)它。

步驟 2 —— 停止數(shù)據(jù)庫(kù)服務(wù)器

要更改 root 密碼,您必須先關(guān)閉數(shù)據(jù)庫(kù)服務(wù)器。

對(duì)于 MySQL,您可以使用以下命令:

sudo systemctl stop mysql

對(duì)于 MariaDB,您可以使用以下命令:

sudo systemctl stop mariadb

數(shù)據(jù)庫(kù)服務(wù)器停止后,您將手動(dòng)訪問(wèn)它以重置 root 密碼。

步驟 3 —— 無(wú)需權(quán)限檢查地重新啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器

如果您在不加載有關(guān)用戶權(quán)限的信息的情況下運(yùn)行 MySQL 和 MariaDB,它將允許您以 root 權(quán)限訪問(wèn)數(shù)據(jù)庫(kù)命令行,而無(wú)需提供密碼。這將允許您在不知道密碼的情況下訪問(wèn)數(shù)據(jù)庫(kù)。

為此,您需要阻止數(shù)據(jù)庫(kù)加載存儲(chǔ)用戶權(quán)限信息的 grant tables,同時(shí)還應(yīng)該跳過(guò)網(wǎng)絡(luò),以防止其他客戶端連接。

啟動(dòng)數(shù)據(jù)庫(kù)時(shí)不加載 grant tables 或啟用網(wǎng)絡(luò):

sudo mysqld_safe --skip-grant-tables --skip-networking &

該命令末尾的“&”將使此進(jìn)程在后臺(tái)運(yùn)行,以便您可以繼續(xù)使用終端。

現(xiàn)在,您可以以 root 用戶身份連接到數(shù)據(jù)庫(kù),這不應(yīng)該要求輸入密碼。

mysql -u root

您將立即看到一個(gè)數(shù)據(jù)庫(kù) shell 提示符。

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

現(xiàn)在您已經(jīng)獲得了 root 訪問(wèn)權(quán)限,可以更改 root 密碼。

步驟 4 —— 更改 root 密碼

對(duì)于較新版本的 MySQL,一種簡(jiǎn)單的更改 root 密碼的方法是使用 ALTER USER 命令。但是,由于 grant tables 沒(méi)有加載,此命令現(xiàn)在不起作用。

讓我們告訴數(shù)據(jù)庫(kù)服務(wù)器通過(guò)發(fā)出 FLUSH PRIVILEGES 命令重新加載 grant tables。

FLUSH PRIVILEGES;

現(xiàn)在我們實(shí)際上可以更改 root 密碼。

對(duì)于 MySQL 5.7.6 及更新版本 以及 MariaDB 10.1.20 及更新版本,使用以下命令。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

對(duì)于 MySQL 5.7.5 及更舊版本 以及 MariaDB 10.1.20 及更舊版本,使用:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

請(qǐng)確保將 new_password 替換為您選擇的新密碼。

無(wú)論哪種情況,您都應(yīng)該看到命令已成功執(zhí)行的確認(rèn)。

Query OK, 0 rows affected (0.00 sec)

密碼已更改,現(xiàn)在您可以停止數(shù)據(jù)庫(kù)服務(wù)器的手動(dòng)實(shí)例,并像之前一樣重新啟動(dòng)它。

步驟 5 —— 正常重新啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器

首先,停止您在步驟 3 中手動(dòng)啟動(dòng)的數(shù)據(jù)庫(kù)服務(wù)器實(shí)例。此命令搜索 MySQL 或 MariaDB 進(jìn)程的 PID(進(jìn)程 ID),并發(fā)送 SIGTERM 以告知其在執(zhí)行清理操作后平滑退出。您可以在此 Linux 進(jìn)程管理教程中了解更多信息。

對(duì)于 MySQL,使用:

sudo kill `cat /var/run/mysqld/mysqld.pid`

對(duì)于 MariaDB,使用:

sudo kill `/var/run/mariadb/mariadb.pid`

然后,使用 systemctl 重新啟動(dòng)服務(wù)。

對(duì)于 MySQL,使用:

sudo systemctl start mysql

對(duì)于 MariaDB,使用:

sudo systemctl start mariadb

現(xiàn)在,您可以通過(guò)運(yùn)行以下命令確認(rèn)新密碼已正確應(yīng)用:

mysql -u root -p

該命令現(xiàn)在應(yīng)提示輸入新分配的密碼。輸入后,您應(yīng)該如預(yù)期般獲得對(duì)數(shù)據(jù)庫(kù)提示的訪問(wèn)權(quán)限。

結(jié)論

您現(xiàn)在已經(jīng)恢復(fù)了對(duì) MySQL 或 MariaDB 服務(wù)器的管理訪問(wèn)權(quán)限。確保您選擇的新 root 密碼是強(qiáng)大和安全的,并將其保存在安全的地方。

到此這篇關(guān)于重置你的MySQL或MariaDB的root密碼的文章就介紹到這了,更多相關(guān)MySQL或MariaDB的root密碼重置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論