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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

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

  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'; #修改用户密码

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
30
分享
相关文章
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
CentOS 8下SSH连接超时与“无法加载主机密钥”错误的排查与修复
在CentOS 8系统中,宝塔面板提示“出错了,面板运行时发生错误”,导致插件无法正常显示。同时,SSH连接超时,修复面板功能失效。通过VNC连接排查,发现SSH服务安装和配置问题频发,最终通过重装SSH、调整权限并重新生成主机密钥文件解决问题,成功恢复SSH连接。
120 16
【YashanDB知识库】YDC连接数据库报错yasdb return code is zero
【YashanDB知识库】YDC连接数据库报错yasdb return code is zero
Navicat Premium 17 最新版下载与配置:5分钟完成企业级数据库工具部署
Navicat Premium 17 是一款支持多种主流数据库(如 MySQL、Oracle、PostgreSQL 等)的多数据库管理工具,提供可视化数据建模、SQL 编辑和数据同步等功能。试用版提供 14 天全功能体验,商业版支持跨平台使用。安装环境要求 Windows 10/11 或 macOS 12.0+,最低配置为 4GB 内存。下载并解压安装包后,按步骤启动安装程序、接受许可协议、自定义安装路径并完成安装。首次运行时需激活许可证并配置数据库连接。常见问题包括无法写入注册表、试用期续费及连接数据库权限问题。高级功能涵盖 SSH 通道加速、自动化任务调度和性能调优建议。
153 19
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
165 25
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
117 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等