【每日一记8】+第17天 mysql 将一张大表转移到备份库中,使用rename的方式出现异常
  

sailyang 2258

{{ttag.title}}
本帖最后由 sailyang 于 2020-6-23 15:02 编辑

数据库版本:  MySQL5.6.27-75,MySQL5.7.25-28(从MySQL5.6.27-75原地升级的)

数据库架构: 主-从

异常场景:

将一张大表转移到备份库中,使用rename的方式出现异常

SQL>  alter table tbname rename  to bak_db.tbname;
错误信息如下:

2020-06-21T03:10:54.694718Z 200 [ERROR] InnoDB: Operating system error number 2 in a file operation.
2020-06-21T03:10:54.694737Z 200 [ERROR] InnoDB: The error means the system cannot find the path specified.
2020-06-21T03:10:54.694742Z 200 [ERROR] InnoDB: File ./testdb/tbname.ibd: 'rename' returned OS error 71.
在MySQL5.6.27 -75及其从库MySQL5.7.25-28的版本中均出现

官方文档解答:

经查,官方文档中有对应的bug记录
https://bugs.mysql.com/bug.php?id=74004
https://bugs.mysql.com/bug.php?id=86253

解决办法:  
•方式一:如果是静态表, 手动创建一张新表,再将数据复制过去的方式进行移动
•方式二:可以使用表空间迁移,具体可以参考MySQL innodb表使用表空间ibd文件复制或迁移表


•方式三:如果是非静态表,则可以考虑手动再目标库创建新表,在原表上添加增删改的触发器(类似上文中的pt-osc变更表的处理方法)。

该BUG已修复,其他版本中已解决,但是通过实践发现,原地升级的方式仍未解决,大家可以亲自实践验证一下。

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

小鱼儿 发表于 2024-2-21 10:53
  
一起来学习一起来学习
taoyb 发表于 2024-2-21 10:56
  
一起来学习一起来学习
朱墩2 发表于 2024-2-21 10:57
  
一起来学习一起来学习
唐三平 发表于 2024-2-21 10:58
  
一起来学习一起来学习
鲤鲤 发表于 2024-2-21 11:03
  
一起来学习一起来学习
小西北 发表于 2024-2-21 11:04
  
一起来学习一起来学习
梦境人生 发表于 2024-2-21 11:06
  
一起来学习一起来学习
小德 发表于 2024-2-21 11:11
  
一起来学习一起来学习
日出 发表于 2024-2-21 11:13
  
一起来学习一起来学习
发表新帖
热门标签
全部标签>
每日一问
新版本体验
GIF动图学习
功能体验
产品连连看
纪元平台
高手请过招
标准化排查
安装部署配置
【 社区to talk】
信服课堂视频
平台使用
社区新周刊
安全效果
秒懂零信任
西北区每日一问
畅聊IT
答题自测
专家问答
技术笔记
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
排障笔记本
产品预警公告
玩转零信任
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
2023技术争霸赛专题
卧龙计划
华北区拉练
天逸直播
以战代练
技术晨报
技术盲盒
山东区技术晨报
文档捉虫
齐鲁TV
华北区交付直播
每周精选
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
云化安全能力
专家说
热门活动
产品动态
行业实践
产品解析
关键解决方案

本版版主

127
322
359

发帖

粉丝

关注

本版达人

你咋不高兴

本周建议达人

壹加壹网络

本周分享达人