阿里云MySQL从 2003->1251->1396

目的

由于需要在阿里云的实例中装MySQL数据库,安装前期(本地访问)还是挺顺利的,但是到了远程连接的时候,却出现了一系列的Bug,以为是没有 实名认证+没有备案 的原因导致的,但是后来想了想,不该呀,我是通过公网IP进行访问的,按理说跟那些没有关系才对,于是就在各个博主那里取到了经,现在回来记录下

2003错误

首先是MySQL的2003报错,如下图:

我当时遇到这个问题,其实感觉还是挺熟悉的(因为我之前在Docker中安装MySQL时,也出现了这个问题),因为没有记录,就只能大概想起将root的权限从localhost改为 啥东西来着(当时真的记不住),后来在网上找了一下,就有人说,在MySQL内部使用

bash 复制代码
update user set host='%' where user='root';

然后再这么一下

bash 复制代码
flush privileges;

说是就好了,结果我按操作这样弄了后,还是报错,我就懵逼了,于是第二天,我又在网上找了一些解决办法

继续找答案

于是乎,我在网上找到说是端口没开放啥的,我当时想,我记得我在阿里云中特意开放了3306端口的呀,就很迷,于是就去宝塔中继续确认一下,发现还真没开启3306的端口(真的很懵逼),于是就开启这个端口

出现了新的问题(1251)

好不容易找到了答案,以为就能连接成功了,于是乎,你没想错,又报错了,这次报了1251的错误。

我一看到这个错误,就感觉很眼熟,这不是昨天配置的那个问题吗?难道没配置好导致的(同时也意识到昨天找答案的方向完全错误)?

于是继续寻找答案,在此,非常感谢这篇博文:

Navicat连接mysql报错 1251错误

因为我记得上次出现远程连接出现错误的时候,也是这篇文章解了我的疑惑

1251解决过程
问题分析

出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

解决办法

把mysql用户登录密码加密规则还原成mysql_native_password.

实现步骤

1.修改加密规则

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345(你的密码)';

2.更新用户的密码

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password(你的密码)' PASSWORD EXPIRE NEVER;

3.刷新权限

bash 复制代码
FLUSH PRIVILEGES;

至此, 1251错误就解决了

又出现了新的问题(1396)

这主要是针对我的,因为我前一天使用了

bash 复制代码
update user set host='%' where user='root';

导致出现了新的问题------1396,没办法,只能继续搜索了,不过这次很幸运,一下子找到了正确的解决方案,推一下该博文:

ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'

这篇博文真的将我最后的疑惑解决了,连步骤都是非常细节的

1396解决过程

步骤:

1.先登录MySQL中

bash 复制代码
mysql -u root -p

2.接着输入密码,进入MySQL

3.查看当前MySQL的信息

bash 复制代码
use mysql;
bash 复制代码
select user,host from user;

出现了该界面


由于我之前使用了这个命令

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '111111';

导致我现在没法找到

于是乎,按着博文的方法修改

4.修改root用户的host,

bash 复制代码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '111111';

于是我的问题就解决啦,真的是太棒啦!!!

至此,问题解决啦

相关推荐
天衍四九-11 小时前
【无标题】
前端·spring boot·mysql·nginx·docker
Lysander.Jovian12 小时前
mysql数据库基本使用
mysql
红红谈说12 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大
Shadow(⊙o⊙)13 小时前
MySQL索引
数据库·mysql
fb_1234513 小时前
MySQL运维实战:备份恢复+主从复制+读写分离+MHA高可用(超详细手把手教程)
运维·mysql·oracle
倔强的石头_15 小时前
多环境配置治理:开发、测试、生产连接信息如何隔离
数据库
杨云龙UP15 小时前
一次数据库查询缓慢故障复盘:大表数据增长、SQL全表扫描导致系统响应异常
linux·运维·服务器·数据库·sql·mysql
stark张宇15 小时前
从页、区、段到 B+Tree:InnoDB 表空间如何组织数据?
mysql
2501_9336707915 小时前
2027 应用统计学秋招选岗指南:统计、SQL、业务指标如何对应岗位
数据库·sql
Joecien15 小时前
【2026实测】百炼 CLI 托管 Agent 教程:bl managed-agent 配置校验、版本回滚与变更预演(附完整命令)
人工智能·git·阿里云·知识图谱·agi