如何解決linux mysql8漏記密碼
如果你是一名Linux用戶,在使用MySQL8數據庫時漏記了密碼,不要著急。本文將為你提供幾種可行的解決方案。
使用mysql_secure_installation命令
如果你的MySQL8剛剛安裝不久,嘗試使用mysql_secure_installation命令來還原密碼。此命令可協助你重置密碼并進行一些安全設置,包括刪除測試數據庫、刪除匿名用戶等。請根據提示進行操作即可。
使用CREATE USER命令
如果你對MySQL8的root用戶的密碼已經失憶,你還可以通過創建新的用戶并將其設為root用戶來解決。具體步驟如下:
- 在MySQL8的命令行輸入以下命令:CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
- 接著,使用以下命令為新用戶授予root權限:GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
- 最后,刷新權限并退出MySQL8:FLUSH PRIVILEGES; EXIT;
- 你現在可以用新創建的用戶名和密碼重新進入MySQL8。
修改MySQL8的配置文件
如果你無法使用上述方法解決問題,你可以嘗試修改MySQL8的配置文件my.cnf。在這個文件中,你可以指定一個新的root用戶密碼。以下是具體步驟:
- 使用命令行進入vi編輯器:vi /etc/mysql/mysql.conf.d/mysqld.cnf
- 在最后一行中輸入:skip-grant-tables
- 保存該文件并退出vi編輯器。
- 重新啟動MySQL8服務:sudo systemctl restart mysql
- 使用以下命令重新進入MySQL8:mysql
- 在MySQL8的命令行中輸入以下命令修改root用戶密碼:UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
- 刷新權限表:FLUSH PRIVILEGES;
- 撤銷skip-grant-tables參數:vim /etc/mysql/mysql.conf.d/mysqld.cnf,并注釋掉該參數:#skip-grant-tables
- 重新啟動MySQL8:sudo systemctl restart mysql
總結
忘記MySQL8的密碼可能會讓人感到很煩惱,但是有幾種方法可以解決這個問題。使用mysql_secure_installation命令或修改MySQL8的配置文件都是可行的方法。此外,通過創建新用戶來替代root用戶也是一種可行的解決方案。