查看MySQL文档发现5.7版本后加入了对用户密码严格的管理规范,具体设置字段以下:mysql
validate_password_dictionary_file #插件用于验证密码强度的字典文件路径。 validate_password_length #密码最小长度,参数默认为8,它有最小值的限制,最小值为: #validate_password_number_count + #validate_password_special_char_count + (2 * #validate_password_mixed_case_count) validate_password_mixed_case_count #密码至少要包含的小写字母个数和大写字母个数。 validate_password_number_count #密码至少要包含的数字个数。 validate_password_policy #密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。有如下取值: #Policy Tests Performed #0 or LOW Length # 1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters # 2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file #默认是1,即MEDIUM,因此刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。 validate_password_special_char_count #密码至少要包含的特殊字符数。
因此咱们只须要禁用这些配置便可:sql
首先用命令行链接上sql,而后use mysql;
安全
1.查看密码相关配置状态:插件
mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password_check_user_name | OFF | | 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)
二、禁用修改安全权限命令行
mysql> set global validate_password_policy=0; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_special_char_count=0; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_mixed_case_count=0; Query OK, 0 rows affected (0.00 sec)
3.再尝试修改root密码的权限:code
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'XXX.XX.XX.XX' IDENTIFIED BY '你的密码' WITH grant option; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
4.再尝试用Navicat Premium登陆,链接成功orm