mysql 5 7重設簡易密碼

2021-08-19 18:37:03 字數 1771 閱讀 2771

mysql 5.7重設簡易密碼

mysql由5.6版本公升級至5.7版本,結果發現,mysql 5.7裡設定簡易密碼時,會直接報錯。而且mysql5.7中mysql.user 表中的密碼欄位由之前的 password 改為 authentication_string。

查閱資料原來是validate_password這個外掛程式導致的。

通過show variables like 'validate_password%'就可以檢視validate_password是否安裝及其配置情況。

validate_password_dictionary_file           > 外掛程式用於驗證密碼強度的字典檔案路徑。

validate_password_length                        > 密碼最小長度。

validate_password_mixed_case_count     > 密碼至少要包含的小寫字母個數和大寫字母個數。

validate_password_number_count    > 密碼至少要包含的數字個數。

validate_password_policy                         > 密碼強度檢查等級,0/low、1/medium、2/strong。

validate_password_special_char_count    > 密碼至少要包含的特殊字元數。

其中關於validate_password_policy-密碼強度檢查等級:

0/low    > 只檢查長度。

1/medium      > 檢查長度、數字、大小寫、特殊字元。

2/strong      > 檢查長度、數字、大小寫、特殊字元字典檔案。

預設情況下,只有通過mysql yum repository, mysql sles repository, or rpm packages provided by oracle才會自動載入validate_password,否則需要使用如下sql命令安裝:

install plugin validate_password soname 'validate_password.so';

解除安裝可以使用:

uninstall plugin validate_password;

對於已經安裝了validate_password外掛程式的,只需要直接在msyql執行解除安裝外掛程式命令,就可以按照自己的需求設定簡易密碼。

在my.cnf中新增skip-grant-tables ,可以跳過mysql的授權驗證,重啟mysql,進行密碼的修改。

修改mysql密碼的4種方式:

法1:update user set authentication_string=password('123abc') where user='root';

法2:set password=password('newpassword');

法3:alter user root@'localhost' identified by 'oracle';

法4:在shell下使用mysql工具:mysqladmin -uroot -poldpassword pasword "newpassword"

mysql5 7 簡易修改mysql密碼

mysql 5.7 mysql庫的user表中已經不再有password欄位,取而代之的為authentication string 修改語法相同,步驟也相同。注意 etc my.cnf這個配置檔案中,basedir datadir這兩個引數的指向,如果指向錯誤,mysqld safe skip g...

mysql5 7 簡易修改mysql密碼

mysql 5.7 mysql庫的user表中已經不再有password欄位,取而代之的為authentication string 修改語法相同,步驟也相同。注意 etc my.cnf這個配置檔案中,basedir datadir這兩個引數的指向,如果指向錯誤,mysqld safe skip g...

MySQL5 7重置root密碼

版本更新 緣故,好多網上的教程都不適用了,甚至連官網的文件也不是能夠順利操作的。如果 mysql 正在執行,首先殺之 killall term mysqld。執行mysqld safe skip grant tables 如果此時不想被遠端連線 mysqld safe skip grant tabl...