- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標(biāo)記
- 域名注冊服務(wù)機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機構(gòu):新網(wǎng)數(shù)碼
MySQL中的用戶密碼存儲在用戶表中,密碼重置實際上是改變該表中記錄的值。 要在忘記密碼的情況下更改密碼,我們的想法是繞過MySQL的身份驗證進入系統(tǒng)并使用SQL命令更新記錄密碼值。
在MySQL 5中,可以使用--skip-grant-tables選項啟動MySQL服務(wù),此選項將告訴服務(wù)在啟動時跳過加載授權(quán)表,因此root用戶可以使用空密碼登錄。
mysqld –skip-grant-tables
登錄后,可以在SQL命令下運行更改密碼
UPDATE user SET authentication_string='' WHERE user='root';
這會將密碼設(shè)置為空。
但是,如果沒有在MySQL 8中進行一些調(diào)整,似乎--skip-grant-tables無法正常工作。那么我們可以做些什么呢? 有兩種可能的選擇。
創(chuàng)建一個--init-file.并使用選項--init-file運行MySQL服務(wù)。 在init文件中,輸入要更新密碼值的SQL命令。
深入研究如何在MySQL 8中使用--skip-grant-tables。
我們來看看這些選項的工作原理。
選項1: --init-file option
此選項將指定包含要在服務(wù)啟動之前執(zhí)行的SQL命令的文件。 因此,我們只需要使用命令更新此文件中的密碼并使用此選項啟動MySQL服務(wù)。 密碼將被重置/更新。
第1步:停止MySQL服務(wù)
net stop mysql
步驟2:創(chuàng)建一個txt文件,并將下面的命令放入
ALTER USER 'root'@'localhost' IDENTIFIED BY '';
步驟3:在命令行上啟動服務(wù),并使用--init-file選項
mysqld --init-file=/some/path/to/cmd.txt --console
完成。 注意:當(dāng)您遇到權(quán)限被拒絕的錯誤時,請以特權(quán)用戶身份運行該命令。 如果你看到如下錯誤:
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.
請運行以下命令初始化數(shù)據(jù)目錄
mysqld --initialize --console
選項2:使用--skip-grant-tables選項
與MySQL 5相比,MySQL 8中還需要添加更多選項。
mysqld --console --skip-grant-tables --shared-memory
啟動服務(wù)后,使用空密碼登錄
mysql -u root
然后執(zhí)行SQL命令更新密碼
UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP