zoukankan      html  css  js  c++  java
  • 解决Navicat无法连接到centos上的MySQL,但命令行可以,修改权限,MySQL密码权限受限:ERROR 1820 (HY000) ERROR 1819 (HY000)

    问题分析

    查看MySQL文档发现5.7版本后加入了对用户密码严格的管理规范,具体设置字段如下:

    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,然后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)
    

    2、禁用修改安全权限

    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密码的权限:

    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)
    

    image.png-161.4kB

    4.再尝试用Navicat Premium登录,连接成功

  • 相关阅读:
    互联网协议入门
    C++解决约瑟夫环(史上最清晰)
    C# 最快的逐一打印斐波那契结果数列的算法
    二叉树的遍历(转载)
    C# 多线程join的用法,等待多个子线程结束后再执行主线程
    剖丁解牛式的快速排序分析
    用CTE结合排名函数rank()删除某列值重复的记录
    Http 头部属性详解
    C# 冒泡排序
    设计模式七大原则之依赖倒转原则
  • 原文地址:https://www.cnblogs.com/eveblog/p/10138612.html
Copyright © 2011-2022 走看看