1. 程式人生 > >mysql密碼修改與密碼丟失的解決方案

mysql密碼修改與密碼丟失的解決方案

密碼的修改

方法一:命令列中修改

mysqladmin -uroot -p password 'your_password'

方法二:進入mysql命令列用sql語句進行修改
這種方法適合於不記得root密碼之後進行修改。
注意這裡需使用password()函式加密,這是因為mysql的使用者表中存放的密碼是經過加密的,登入時輸入的也是要經過轉換為密文與使用者表中存放的密碼。所以修改密碼時也需要使用password()轉換密文再放進表中。

updata mysql.user set password=password("your_password") where user='root'
and host='localhost';

這裡要注意mysql 5.7之後的版本把密碼欄位password改為了authentication_string;

update mysql.user set authentication_string=password("your_password") where user='root' and host='localhost';

另外進入mysql中修改密碼之後要重新整理許可權。

flush privileges;

方法三:進入mysql使用set直接修改

set authentication_string=password(your_password);
flush privileges;

密碼丟失的解決

密碼丟失後找回密碼首先需要關掉mysql服務

/etc/init.d/mysqld stop

接著使用跳過授權表的方式登入mysql並修改密碼,此方法適用於mysql5.7.18以上版本。

1.進入mysql目錄
cd /etc/mysql/mysql.conf.d
2.編輯目錄下的mysqld.cnf,在它的[mysqld]下的選項中加上一行
skip-grant-tables=1
3.重啟mysql服務
/etc/init.d/mysql restart
4.接下來就可以無密碼登入mysql
mysql -uroot
5.使用上面的第二種方法修改密碼
update
mysql.user set authentication_string=password("your_password") where user='root' and host='localhost';
6.重新整理許可權 flush privileges 7.記得刪去配置檔案中剛剛加上的那一行引數。