当前位置:网站首页>300M级mysql数据库跨版本迁移流程
300M级mysql数据库跨版本迁移流程
2022-08-02 04:24:00 【洋滔】
还是公司要更换服务器,所以要把数据库迁移到新的服务器上,导出的sql文件大小在300M左右,说大不大说小不小,但是使用常规的迁移操作会出现各式各样的错误,最终经过种种试错,找到了完美的解决方案。
在继续下文前,对服务器进行统一标注,老的服务器为A(mysql版本5.6),本地服务器为B(mysql版本5.7),新的服务器为C(mysql版本8.0)
方案1:
从A导出数据库文件,然后将文件拷贝到本地服务器B,在B上远程连接到C的数据库,然后进行导入操作,在经过漫长的等待后,出现了报错,报错为:1041 Out of memory; check if mysqld or some other process uses all available和mysql报错,根据报错内容大概意思是mysql进程超过了可用内存,还有mysql插入语句的报错,这种方案基本可以pass
方案2:
把数据库文件打开,复制mysql语句,然后连接C的数据库进行新建查询,以手动执行的方式进行导入,发现经过一段时间等待后依然是报错:不过没有了1041报错,而是sql语句报错,为什么会报错呢,因为通过navicat新建查询,有mysql代码行数限制,虽然我们粘贴过去的是全部代码,但会直接被截取到指定行,这样就导致了报错,方案pass
方案3:
既然navivat有代码量限制,那么换个连接工具呢,在C服务器上安装phpmyadmin,重复方案2的内容,发现依然存在同样的问题,无法完全手动执行代码,尝试导入数据库压缩文件,发现最大只能为50M,放弃,方案pass
方案4:
导入文件报错,手动执行不能全部执行,那我们复制粘贴表呢,在B上同时连接到A和C,然后先全部选择A的数据库所有表,然后点击复制,再打开C的数据库,点击粘贴,等过很久很久,发现卡到5%上,直接给卡死,关闭navicat都关闭不掉(这里怀疑是mysql5.7失去链接的原因),当然还是一样走不通
最终方案:
和方案4内容一样,只不过是在A上操作,就是在A上使用navicat连接到C的数据库,然后执行复制粘贴操作,进度条一直在增加,并且最终执行100%,完成了数据库的迁移,但是发现执行完后,对比原来的数据库发现少了70多个表,应该复制的是384个,但是实际只有310多个,难道是复制粘贴也有数量限制吗,不管了,被这个搞得头晕脑大了,直接对比发现差异表,再次复制粘贴,妥妥的从1%到100%,到此把所有的数据表成功从A迁移到C。
总结:
在迁移300M的数据库文件时,我们要使用被迁移的数据库服务器去连接最终服务器,然后使用复制粘贴的方法进行迁移,这样才能达到最好的稳定性,而不至于出现不可思议的错误,这次的三个服务器数据库版本都不一样,如果B的版本和A的版本一致,那么是不是使用方案1就可以成功了呢?
边栏推荐
- 吴恩达机器学习系列课程笔记——第七章:正则化(Regularization)
- DOM系列之 click 延时解决方案
- Deep Blue Academy - 14 Lectures on Visual SLAM - Chapter 7 Homework
- 直播 | 7.30 ApacheCon Asia 2022 IOT/IIOT专题,IoTDB PMC 乔嘉林担任出品人
- 今天突然下雨
- 3D object detection dataset
- 关于地图GIS开发事项的一次实践整理(上)
- MapFi paper structure organization
- 【Interview】Recruitment requirements
- 吴恩达机器学习系列课程笔记——第九章:神经网络的学习(Neural Networks: Learning)
猜你喜欢
UI自动化测试框架搭建——标记性能较差用例
关于地图GIS的一次实践整理(下) Redis的GIS实践
ADSP21489仿真:Failed to set breakpoint: Can‘t set breakpoints in the current state: Running
吴恩达机器学习系列课程笔记——第九章:神经网络的学习(Neural Networks: Learning)
张成分析(spanning test):portfolio_analysis.Spanning_test
复制延迟案例(2)-读己之写
1318_将ST link刷成jlink
Line generation 005
Qt常见问题
A practice arrangement about map GIS (below) GIS practice of Redis
随机推荐
热爱和责任
跑通CogView教程
详解CAN总线:什么是CAN总线?
Batch normalization (BN) based on deep learning
6个月测试经验,面试跳槽狮子大开口要18K,只会点点点,给我整无语了。。
力扣练习——45 二叉树的锯齿形层次遍历
C# Thread IsBackground作用
多主复制的适用场景(1)-多IDC
Arduino框架下 ESP32看门狗使用示例
LeetCode 23: 合并K个升序链表
MySQL read-write separation mysql-proxy deployment
EasyCVR视频广场切换通道,视频播放协议异常的问题修复
ADSP21489工程中LDF文件配置详解
力扣 215. 数组中的第K个最大元素
高等数学(第七版)同济大学 总习题三(后10题) 个人解答
使用GD32F207的高级定时器来产生PWM波出现的隐藏BUG
无主复制系统(3)-Quorum一致性的局限性
已更新 联通 电信 tiny模式
被大厂强制毕业,两个月空窗期死背八股文,幸好上岸,不然房贷都还不上了
ROS visualization of 3D target detection