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

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

  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)"
110801
110802

  1. 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; #刷新权限,完成

  1. 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权限

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

  1. 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_count, validate_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'; #修改用户密码

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/665962

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。