实战-MySQL5.7升级8.0遇到的四个问题

近期几个项目的MySQL由5.7升级到8.0,升级过程中遇到四个问题,记录下来分享一下:

第一个问题详见之前的文章:

MySQL 5.7升级8.0报异常:处理新增关键字

第二个问题详见之前的文章:

MySQL 5.7升级8.0报异常:ONLY_FULL_GROUP_BY

三、默认密码策略变更

1、遇到的异常

MySQL版本由5.7升级到8.0之后,数据库连接不上,项目服务启动不了

2、原因

默认密码策略变更了,MySQL 5.7默认密码认证插件是mysql_native_password,MySQL8.0默认的密码认证插件​是caching_sha2_password,​新的密码认证插件引入了更严格的密码策略,包括密码过期、密码重用限制和密码复杂度要求。

3、解决

升级后密码认证插件需要改回mysql_native_password,否则之前的账号密码无法登陆。

查看密码认证插件命令:

show variables like 'default_authentication_plugin%';

密码认证插件可以通过以下2种方式改变:

1)通过系统变量default_authentication_plugin改变

​在my.ini文件​的[mysqld]下设置default_authentication_plugin=mysql_native_password

2)只设置某个用户,通过mysql_native_password的方式认证

修改数据库mysql下面​的user表的字​段

alter user '用户名'@'主机' identified with mysql_native_password by '密码';

四、数据库连接偶尔超时

升级之后,发现偶尔会有数据库连接超时,这时候重启一下服务就可以解决了

注:

1)数据库版本升级,一定要先升级测试环境,项目测试没有问题后,再升级线上

您在数据库版本升级过程中遇到过什么问题,欢迎评论区分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值