注:本文涉及到的解决方案都是我遇到的问题的对应解决方案,不一定适用于每一个人,如果问题仍然存在,请继续百度查询其他解决方法

1.  首先是登录阿里云MySQL的一些必要信息(登录其他云主机的mysql同理):

使用ssh的方式连接到linux,具体连接参数的填写见下图

注意:网上很多教程写的连接方式中“主机名或IP地址”一栏写的都是公网ip,我实际使用中用公网ip连接始终报错,显示错误:2013-Lost connection to MySQL server at "waiting for initial communication packet", systemerror:0 "Internet error/check(Not system error)"

2.  Navicat报错2059:authentication plugin 'caching_sha2_password........

  错误原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,在mysql验证密码时出现了该错误

  解决方法:把mysql用户登录密码加密规则还原成mysql_native_password(在登录mysql后,运行如下命令)

      use mysql;

      SELECT User,Host FROM mysql.user;

      # 观察表结构,找到需要修改的用户,如修改root用户

      ALTER USER 'root'@'%' IDENTIFIED BY '12345678' PASSWORD EXPIRE NEVER; #修改加密规则 ,'12345678'为对应用户的登录密码

      ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '12345678'; #更新一下用户的密码
      FLUSH PRIVILEGES; #刷新权限,完成

3.  Navicat报错1130: ERROR 1130: Host xxx.xxx.xxx.xxx  is not allowed to connect to this MySQL server

  错误原因:被连接的数据不允许使用 公网ip 访问,只允许是用 localhost;

  解决方法:首先尝试在mysql数据库的连接参数中的“主机名或ip”一栏中使用localhost登录

       不行的话,使用改表法。首先使用“mysql -u root -p”命令登录mysql,然后运行如下mysql命令:

          use mysql;

          update user set host = '%' where user = 'root'  and host='localhost';

          FLUSH   PRIVILEGES;  #刷新mysql权限

        再次尝试登录,错误解决。

4.  mysql报错:ERROR 1819 (HY000):Your password does not satisfy the current policy requirements

  错误原因:新版本的mysql中默认安装了validate_password插件,该插件会检查mysql的用户密码强度,强度工分为三个等级:以下是官方解释:

  • LOW policy tests password length only. Passwords must be at least 8 characters long. To change this length, modify validate_password_length.

  • MEDIUM policy adds the conditions that passwords must contain at least 1 numeric character, 1 lowercase character, 1 uppercase character, and 1 special (nonalphanumeric) character. To change these values, modify validate_password_number_countvalidate_password_mixed_case_count, andvalidate_password_special_char_count.

  • STRONG policy adds the condition that password substrings of length 4 or longer must not match words in the dictionary file, if one has been specified. To specify the dictionary file, modifyvalidate_password_dictionary_file.

  • 总结:最低安全等级只校验密码长度(至少8位),中等必须包含至少一个数字,一个大写字母,一个小写字母,一个特殊字符(默认安全等级,官方示例:MyNewPass4!),想设置强力级密码的想必能看懂原文,就不翻译了
  • 此外,从MySQL 5.7.15开始,validate_password支持拒绝与当前会话的有效用户帐户的用户名部分匹配的密码(正向或反向)。为了提供对此功能的控制,validate_password公开了一个validate_password_check_user_name系统变量,该变量默认启用。

  提前说明:在设置mysql的全局变量时,官方示例给出的全局变量名为validate_password_policy,而我在实际运行中发现set global validate_password.policy=0;无法正常执行,只能用set global validate_password.policy=0;,大家在实际操作中如果发现其中一个不能正常执行,请换用另一个。

  解决方法:在mysql命令行中运行如下命令:

      set global validate_password.policy=0;    #设置安全等级为LOW(最低级)

      set global validate_password.length=5;    #设置最低密码长度为5(默认为8)

      ALTER USER  'root'@'%'  IDENTIFIED BY 'abc';    #修改用户密码

Navicat连接阿里云(centos7.3)的MySQL数据库遇到的问题及解决方法的更多相关文章

  1. 使用Navicat连接阿里云服务器上的MySQL数据库=======Linux 开放 /etc/hosts.allow

    使用Navicat连接阿里云服务器上的MySQL数据库   1.首先打开Navicat,文件>新建连接> 2,两张连接方法 1>常规中输入数据库的主机名,端口,用户名,密码 这种直接 ...

  2. 使用Navicat连接阿里云服务器上的MySQL数据库--转

    手把手教你如何正确连接阿里云服务器上的数据库: 1.首先打开Navicat,文件>新建连接>MySQL连接,其他的如一图所示. 2.因为是连接服务器上的MySQL,所以我们使用SSH连接, ...

  3. 使用Navicat连接阿里云服务器中的Mysql数据库

    1.首先将阿里云服务器中的安全组添加上Mysql的端口3306,如下图所示: 步骤就是进入到阿里云的官网,点击右上角控制台,在左边选择云服务器ECS--->实例 点击图中的管理按钮,然后选择本实 ...

  4. 使用Navicat连接阿里云服务器上的MySQL数据库

    1.首先打开Navicat,文件>新建连接> 2,两张连接方法 1>常规中输入数据库的主机名,端口,用户名,密码 这种直接连就可以了 第2种方法: 常规中输入数据库的信息,主机名用l ...

  5. jdbc连接阿里云服务器上的MySQL数据库 及 数据库IP限制

    问题1:Jdbc 如何连接阿里云服务器上的MySQL数据库? 解决: 上截图: 其中IP是阿里云服务器的公网IP地址. 问题2:   刚开始接手开发的时候,使用Navicat连接阿里云服务器上的数据后 ...

  6. 记录下spingboot连接阿里云服务器上的MySQL数据库报错

    错误大概如下: create connection SQLException, url: jdbc:mysql://'IP地址':3306/code007?useUnicode=true&ch ...

  7. Navicat 连接阿里云的 MySQL

    1 利用Navicat连接阿里云服务器中MySQL 常规连接方式常用于连接本机数据库以及虚拟机中的数据库:但是连接阿里云的MySQL数据库时会出现连接不上的情况,错误信息如下: 1.1 常规中的配置 ...

  8. Navicat连接阿里云服务器Linux下的Mysql

    用Navicat连接阿里云ECS服务器上的MySQL数据库   今天用navtive连接阿里云服务器(Linux)的数据库时,老是连接不上,并且报10060错误,要通过以下两个步骤解决: 1.先进入l ...

  9. 关于php读mysql数据库时出现乱码的解决方法

    关于php读mysql数据库时出现乱码的解决方法 php读mysql时,有以下几个地方涉及到了字符集. 1.建立数据库表时指定数据库表的字符集.例如 create table tablename ( ...

  10. 使用Navicat连接阿里云ECS服务器上的MySQL数据库

    一.首先要mysql授权 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的mysql数据库密码' WITH GR ...

随机推荐

  1. 架构设计--用户端全http参数接口详细说明v1

    1. 用户端全http参数接口详细说明v1.doc 1 2. change histor 1 3. 接口通用参数说明 1 4. 函数注册接口(规划中) 3 5. 用户权限模块 3 5.1. 用户注册接 ...

  2. 使用digitalocean搭建v·p·s

    这几天digitalocean开始猛卡,一顿操作之后连不上了=_=遂复习了一下怎么搭vps 准备工作 事先准备好Putty,直接百度搜索下载即可(也可直接使用digitalocean的access c ...

  3. wechat talk

    https://github.com/13770344697/nanjingzhongan https://github.com/fayuanliu/wxRobot https://github.co ...

  4. IE10/11 滚动条自动隐藏~

    原文: http://www.cnblogs.com/xwgli/p/4463184.html 就是IE10/11滚动条自动隐藏咯~ 原因是bootstrap里面加了一句: @-ms-viewport ...

  5. VS调试-添加命令行参数

    Project -> Properties -> Configuration Properties -> Debugging 在Command Arguments里填上即可

  6. php服务器环境变量

    可以把一些配置写到apache或nginx的配置里,然后在代码里判断环境变量来实现开发环境和线上环境的切换. 比如在本地可以 SetEnv APP_ENV local线上则 SetEnv APP_EN ...

  7. C语言 · c++_ch02_01(打印元音字母的ASCII码)

    算法提高 c++_ch02_01   时间限制:1.0s   内存限制:512.0MB      编写一个程序,利用强制类型转换打印元音字母大小写10种形式的ASCII码. 输出的顺序为:大写的字母A ...

  8. Laravel 5.1 中创建自定义 Artisan 控制台命令实例教程

    1.入门 Laravel通过Artisan提供了强大的控制台命令来处理非浏览器业务逻辑.要查看Laravel中所有的Artisan命令,可以通过在项目根目录运行: php artisan list 对 ...

  9. 利用CSS生成精美细线Table表格

    精美的表格是前端开发用到的一个组件,很多时候我们利用复杂的页面style代码,来生成这样的表格,造成了页面的修改性和可读性都非常差.这里推荐直接使用css来产生一个细线表格. 使用方法也很简单: 第一 ...

  10. linux grub启动密码验证设置

    1.认识启动配置选项 [root@server5 ~]# cat /boot/grub/grub.conf      # grub.conf generated by anaconda # # Not ...