Linux下修改Mysql密碼的三種方式


前言

有時我們會忘記Mysql的密碼,或者想改一個密碼,以下將對這兩種情況修改密碼的三種解決方法做個總結

本文都以用戶為 root 為例

 

一、擁有原來的mysql的root的密碼

方法一: 

在mysql系統外,使用mysqladmin

1 mysqladmin -u root -p password "test123" 2 Enter password: 【輸入原來的密碼】

 

方法二:
通過登錄mysql系統

1 mysql -uroot -p 2 Enter password: 【輸入原來的密碼】 3 mysql>use mysql; 4 mysql> update user set password=passworD("test") where user='root'; 5 mysql> exit; 

 

注意:如果Mysql的版本是5.7及以上的話update語句更換如下:

1 mysql> update user set authentication_string=passworD("test") where user='root';

 

二、忘記原來的myql的root的密碼

方法三:

首先拿到操作系統的root權限,然后kill掉Mysql服務或者手動stop掉,這里我推薦使用手動stop;

1 service mysql stop

然后執行

1 mysqld_safe --skip-grant-tables &

&,表示在后台運行,不再后台運行的話,就再打開一個終端吧。

接着登陸MySQL修改密碼

1 mysql 2 mysql> use mysql; 3 mysql> UPDATE user SET password=password("test123") WHERE user='root'; 4 mysql> exit; 

注意:如果Mysql的版本是5.7及以上的話update語句如下:

mysql8.0以上密碼策略限制必須要大小寫加數字特殊符號,然后試了試只用字符串root設為密碼居然可以ヽ(ー_ー)ノ

1 mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Mysql123';

如果執行報錯,如下:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

需要刷新權限表后,再次執行修改密碼

flush privileges;

附:mysql8配置遠程訪問


免責聲明!

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



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