久久青草精品A片狠狠,日韩欧美视频一区二区,亚洲国码AV日韩,国产精品黄在

如何在MySQL 8中重置root密碼

2018-12-28 10:56:50 15927

MySQL中的用戶(hù)密碼存儲(chǔ)在用戶(hù)表中,密碼重置實(shí)際上是改變?cè)摫碇杏涗浀闹怠?要在忘記密碼的情況下更改密碼,我們的想法是繞過(guò)MySQL的身份驗(yàn)證進(jìn)入系統(tǒng)并使用SQL命令更新記錄密碼值。

在MySQL 5中,可以使用--skip-grant-tables選項(xiàng)啟動(dòng)MySQL服務(wù),此選項(xiàng)將告訴服務(wù)在啟動(dòng)時(shí)跳過(guò)加載授權(quán)表,因此root用戶(hù)可以使用空密碼登錄。

mysqld –skip-grant-tables

登錄后,可以在SQL命令下運(yùn)行更改密碼

UPDATE user SET authentication_string='' WHERE user='root';

這會(huì)將密碼設(shè)置為空。

但是,如果沒(méi)有在MySQL 8中進(jìn)行一些調(diào)整,似乎--skip-grant-tables無(wú)法正常工作。那么我們可以做些什么呢? 有兩種可能的選擇。

創(chuàng)建一個(gè)--init-file.并使用選項(xiàng)--init-file運(yùn)行MySQL服務(wù)。 在init文件中,輸入要更新密碼值的SQL命令。
深入研究如何在MySQL 8中使用--skip-grant-tables。

我們來(lái)看看這些選項(xiàng)的工作原理。

選項(xiàng)1: --init-file option

此選項(xiàng)將指定包含要在服務(wù)啟動(dòng)之前執(zhí)行的SQL命令的文件。 因此,我們只需要使用命令更新此文件中的密碼并使用此選項(xiàng)啟動(dòng)MySQL服務(wù)。 密碼將被重置/更新。

第1步:停止MySQL服務(wù)

net stop mysql

步驟2:創(chuàng)建一個(gè)txt文件,并將下面的命令放入

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

步驟3:在命令行上啟動(dòng)服務(wù),并使用--init-file選項(xiàng)

mysqld --init-file=/some/path/to/cmd.txt --console

完成。 注意:當(dāng)您遇到權(quán)限被拒絕的錯(cuò)誤時(shí),請(qǐng)以特權(quán)用戶(hù)身份運(yùn)行該命令。 如果你看到如下錯(cuò)誤:

2018-12-27T05:51:23.739089Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.13) starting as process 1912
2018-12-27T05:51:23.759426Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
2018-12-27T05:51:23.761196Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2018-12-27T05:51:23.762550Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-12-27T05:51:23.766230Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.13)  MySQL Community Server - GPL.

請(qǐng)運(yùn)行以下命令初始化數(shù)據(jù)目錄

mysqld --initialize --console

選項(xiàng)2:使用--skip-grant-tables選項(xiàng)

與MySQL 5相比,MySQL 8中還需要添加更多選項(xiàng)。

mysqld --console --skip-grant-tables --shared-memory

啟動(dòng)服務(wù)后,使用空密碼登錄

mysql -u root

然后執(zhí)行SQL命令更新密碼

UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題: