Ubuntu下修改Mysql密碼


在Ubuntu下使用命令安裝Mysql時會直接安裝好,沒有初始化root密碼,或者在使用Mysql時忘記密碼,該如何重置root密碼,本篇文章將記錄一下這個問題的解決辦法。

方法一,該方法只在Ubuntu或者Debian用戶下有效。

第一步:輸入sudo vim /etc/mysql/debian.cnf,打開/etc/mysql/目錄下的debian.cnf文件,記住這里的用戶名和密碼。

第二步:使用改密碼登錄Mysql

 第三步:選擇數據庫,使用Mysql

第四步:重置為新的密碼,這里分為兩個版本

一直使用5.7的命令在8.0的版本中執行,一直報錯,感到很詫異,后查找資料后發現,mysql 5.7.9以后廢棄了password字段和password()函數;

而且用於表示用戶密碼的authentication_string字段只能是mysql加密后的41位字符串密碼。因此在修改密碼時,5.7版本和8.0版本有所不同,需要使用不同的語句執行,其他版本也有可能不同。

1、MySql5.7

update user set authentication_string = password(["your new password"]) where user = "your username" [and Host="localhost"];

2、MySql8.0

(1)檢查authentication_string字段是否為空,不為空先置空,我比較懶,我就直接置空了。

use mysql;
update user set authentication_string='' where user='your username';
ALTER user 'your username'@'localhost' IDENTIFIED BY 'your new password';

(2)如果順利執行,那么恭喜你已經修改密碼成功了,如果報錯則執行flush privileges;刷新MySQL的系統權限相關表后再次執行上一步。

方法二

第一步:跳過權限驗證登錄Mysql

(1)編輯Mysqld.cnf 文件

命令行下輸入 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

然后在配置文件中任意位置輸入  skip-grant-tables  ,然后保存退出。

(2)然后重新啟動Mysql

sudo service mysql restart

第二步

直接輸入輸入Mysql進行登錄。

登錄后的操作就與方法一中后續操作一致了。

 

版本說明:

登錄進入Mysql,在命令行輸入 \s 或者 status

Mysql 版本8.0.28 

Ubuntu版本 20.04.3

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM