8.X版本:
#查看密碼策略 show variables like '%validate_password.policy%'; show variables like '%validate_password.length%'; #修改密碼策略 set global validate_password.policy=0; #設置為弱口令 set global validate_password.length=1; #密碼最小長度為1
57版本:
#查看密碼策略 show variables like '%validate_password_policy%'; show variables like '%validate_password_length%'; #修改密碼策略 set global validate_password_policy=0; set global validate_password_length=1;
密碼策略的所有參數:
mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 8 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | MEDIUM | | validate_password.special_char_count | 1 | +--------------------------------------+--------+ 7 rows in set (0.01 sec)
validate_password.policy(校驗規則),取值范圍[0,1,2],默認值1。0(LOW):只校驗長度;1(MEDIUM):校驗長度、大小寫和特殊字符;2(STRONG):校驗長度、大小寫、特殊字符和dictionary_file
更多參數說明查看:https://dev.mysql.com/doc/refman/8.0/en/validate-password-options-variables.html
注意:
validate_password是已插件的形式安裝在mysql中的,關於該插件的更多介紹訪問:https://dev.mysql.com/doc/refman/8.0/en/validate-password.html
docker安裝的mysql是沒有validate_password插件的。另外,根據官網介紹,validate_password已經被廢棄,未來會被移除。
作為替代方案,component_validate_password組件會被啟用:
mysql -u root -p # 登陸mysql,也可以用navicat工具登陸 INSTALL COMPONENT 'file://component_validate_password'; # 安裝組件 UNINSTALL COMPONENT 'file://component_validate_password'; # 卸載組件
上面的命令可直接運行的,該組件是默認存在的,可通過命令查看插件或組件目錄:
show variables like 'plugin_dir'; # 查看mysql插件或組件目錄