问题分析

查看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)

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

解决Navicat无法连接到centos上的MySQL,但命令行可以,修改权限,MySQL密码权限受限:ERROR 1820 (HY000) ERROR 1819 (HY000)的更多相关文章

  1. 解决Navicat无法连接到MySQL的问题

    解决Navicat无法连接到MySQL的问题 问题一:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限.于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的 ...

  2. JavaWeb问题记录——在Windows上启动Tomcat后命令行窗口乱码

    JavaWeb问题记录——在Windows上启动Tomcat后命令行窗口乱码 摘要:本文主要记录了在Windows上启动Tomcat后,命令行窗口出现乱码的问题及解决办法. 问题重现 在Windows ...

  3. 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  4. CentOS 6.5 下利用命令行截图及设置快捷键截图

    CentOS 6.5 下利用命令行截图及设置快捷键截图 1.利用命令模式 捕获整个屏幕 : $ gnome-screenshot 截完屏之后我们可以设置自定义图片存储位置,如图: 捕获当前终端Term ...

  5. 解决Navicat无法连接到Mysql

    Navicat无法连接到Mysql,返回的错误码是Lost connection to MySQL server at ‘reading initial communication packet’, ...

  6. Centos上安装配置docker(命令集)

    导出镜像存储: docker save house/redis:3.2 > redis_img.tar   (也可以使用镜像ID) 导入镜像存储: docker load < redis_ ...

  7. 在 Linux 上使用 VirtualBox 的命令行管理界面

    VirtualBox 拥有一套命令行工具,你可以使用 VirtualBox 的命令行界面 (CLI) 对远程无界面的服务器上的虚拟机进行管理操作.在这篇教程中,你将会学到如何在没有 GUI 的情况下使 ...

  8. 解决 main(int argc, char** argv)这种情况下通过命令行传参,改为main函数里面给定参数。

    本文是原创文章,未经允许,请勿转载. 原来程序中是通过运行exe,然后加上参数,然程序运行起来的.也就是main(int argc, char** argv)这里是通过argv参数是从命令行 传过来的 ...

  9. CentOS切换桌面模式和命令行模式

    CentOS系统中命令行模式的快捷键是[Ctrl]+[Alt]+[F1]~[F6],桌面模式的快捷键为[Ctrl]+[Alt]+[F7] 转自: http://blog.sciencenet.cn/b ...

随机推荐

  1. Visual Studio 2013/15/17小技巧

    1.Ctrl + F10 可以直接运行到光标处,而不用F10 逐过程 F11 逐语句了 2.当有多个断点时,按F5可以切换到下一个断点. 3.Ctrl+Shift+空格 显示函数签名,上下键可以查看所 ...

  2. 【转载】解密ThreadLocal

    概述 相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路:ThreadLocal的目的是为了解决多线程访问资 ...

  3. yum nginx最新版安装

    去官方站点获取yum仓库 [root@web01 ~]# cat /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http:// ...

  4. 基于beautifulSoup进行电影网站排名的获取与格式化输出

    要求 编写代码完成以下任务: ① 将地址"http://www.cbooo.cn/year?year=2019"源代码使用任意方法保存到指定文件中(文件类型不限). ② 使用文件流 ...

  5. windows cmd命令学习

    tasklist|findstr "py"

  6. VISION控制器标定及网络分析工具

    VISION 标定和数据采集软件是一个强大的集成工具包,各个工具包可以无缝组合在一起,提供集成的可定制的应用程序,从而能够实现完整的标定和数据分析功能,包括从电子控制单元及外部源收集数据,测量输入和输 ...

  7. SQL进阶17-变量的声明/使用(输出)--全局变量/会话变量--用户变量/局部变量

    /*进阶17 变量 系统变量: 全局变量: 会话变量: 自定义变量: 用户变量: 局部变量: */ /* #一: 系统变量 #说明: 变量由系统提供,不是用户定义的,属于服务器层面 #使用的语法 #1 ...

  8. tinylogin-1.4

    tinylogin-1.4是一个开发嵌入式的文件系统很好的一个工具

  9. socket发送、接收信息----UDP

    # 导入套接字包 import socket def welcome(): print("------欢迎进入UDP聊天器--------") print("1.发送信息 ...

  10. 洛谷P2221 高速公路【线段树】

    题目:https://www.luogu.org/problemnew/show/P2221 题意:有n个节点排成一条链,相邻节点之间有一条路. C u v val表示从u到v的路径上的每条边权值都加 ...