关于Mysql版本升级迁移数据库时报Error Code: 3554 - Access to system table ‘mysql.innodb_index_stats‘ is rejected错误

目录

一、背景

二、经过

三、解决

四、总结


一、背景

今天在学习Redis时,想到这么一个应用场景:如果我们将经常查询的数据先存到Redis中,然后每当我们要从数据库查询数据时,先查询Redis缓存,有则直接获取;当数据库对该条数据有更新操作时,则删除Redis中对应的缓存,以此来提升应用的查询性能。

于是我想到MySQL8.0之后已经移除了缓存功能,而在其之前,MySQL还保留了缓存功能,影响查询性能,而我用的是MySQL5.7.35版本的,所以我决定升级数据库版本到8.0。

二、经过

  1. 我先对原来的数据库进行了全库备份(错误就在此处!),备份完之后,经过了一系列操作,将MySQL8.0装好了,也卸载干净了原来的版本。
  2. 打开SQLyog,导入备份sql文件,开始执行,迁移原来的数据库。
  3. 此时,提示错误如下图:此时已经无法正常恢复原来的数据库了!!!!

三、解决

        一阵慌乱之后,经过一番查阅资料,发现,全库备份是行不通的,必须单库备份,逐个导入,如此方为上策。于是我在另一台电脑上装了跟原先数据库一样的版本(必须一样,否则无法执行全库备份文件!!!!)然后执行了全库备份文件,结果让我震惊!——成功了!!!,数据库全部恢复了,于是我赶紧开始逐个将数据库备份出来(这里一定要是单库备份!!!),忙活了好一会,备份了七八个文件,然后再拿到自己的电脑上,执行了单库的备份文件,结果再次震惊!——备份成功了!于是数据库便从MySQL5.7.35迁移到了8.0上。

四、总结

        低版本MySQL向高版本MySQL迁移数据库,一定要进行单库备份,不可全库备份,否则会导致迁移失败!!!!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小蔡学编程

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

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

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

打赏作者

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

抵扣说明:

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

余额充值