本地电脑远程连接阿里云服务器上的MySQL数据库,并成功解决Your password does not satisfy the current policy requirements的问题

1. 文章引言


今天在阿里云上搭建了mysql数据库,并使用本地Navicat连接线上的数据库。

接下来,我会详细介绍本地电脑如何远程连接阿里云服务器上的MySQL数据库,以及解决在连接过程中报出的错误:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

但在介绍之前,确保你安装了mysql数据库。

如果你还没安装mysql数据库,可以参考这篇博文:

https://blog.csdn.net/luowenmin/article/details/81945548

同时,保证你已启动了线上的数据库,查看线上数据库的命令如下:

 service mysqld status

在这里插入图片描述

如果出现如上图所示的标志,说明我们的数据库是启动的。

2. 连接远程数据库


mysql会默认创建4个数据库,如下表所示:

用户主机
mysql.infoschemalocalhost
mysql.sessionlocalhost
mysql.syslocalhost
rootlocalhost

但我们此时需要创建一个新用户,允许所有的ip都能访问,可以使用如下命令创建:

 create user 'root'@'%' identified by '你的数据库登录密码#';

mysql报错了,报错信息是:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

3. 分析问题


ERROR 1819 (HY000): Your password does not satisfy the current policy requirements翻译过来就是:在现在的版本中,你的密码不安全。

我们通过如下mysql语句,查看设置密码的要求:

SHOW VARIABLES LIKE 'validate_password%'

查询结果如下表所示:

| Variable_name                        | Value  |
|--------------------------------------|--------|
| validate_password.check_user_name    | ON     |
| 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      |

上表中的validate_password.policy是判断修改的新密码是否符合当前的策略,不满足报错,不让修改。

如下图所示:

validate_password.policy作用

4. 解决问题


根据以上分析结果可知,由于当前策略是MEDIUM,即validate_password.policy = MEDIUM,数据库不让我们修改。

因而,我们可以将其修改成低版本的,如代码所示:

 set global validate_password.policy=LOW;

如果原数据库里有%的用户,我可以根据以下流程,来创建新的用户。

  1. 删除用户
 drop user 'root'@'%';
  1. 刷新修改权限
 flush privileges; 
  1. 创建新用户
create user 'root'@'%' identified by '你的密码';
  1. 查询用户
mysql> select user,host from user;

查询用户的结果如下表:

| user             | host      |
|------------------|-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+

用户创建成功后,我们即可成功远程连接阿里云服务器上的MySQL数据库,如下图所示:

mysql连接成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

互联网全栈开发实战

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值