原来的数据库结构不合理,后来新建了新的库和新的表结构?那如何把原来的数据迁移过来吗?
因为老的数据表和新的表里面的字段什么的都不一样了?
如果把MySQL的数据迁移到新的库新的表?
答案:2 悬赏:30
解决时间 2021-02-28 07:47
- 提问者网友:枫涩帘淞幕雨
- 2021-02-27 17:42
最佳答案
- 二级知识专家网友:废途浑身病态
- 2021-02-27 18:37
是所有的表结构都不一样么?新表中的表结构,包含老表中的结构么?如果只是在老表基础上加了一些新的字段,那么正常导入之后,再重新增加那些新字段就可以了,如果是字段有多有少或者有需要运算的,那就挨个表导入数据吧
全部回答
- 1楼网友:woshuo
- 2021-02-27 19:35
mysql数据库迁移
mysql数据库迁移(数据文件直接迁移)
在今年10月下旬的时候,公司的服务器需要迁移,其中涉及到了mysql数据库迁移。查看了一下mysql数据文件的大小,接近60g的大小(实际数据并没用那么多)。由于服务器上业务需要,要尽量减少服务器迁移时的损失。所以迁移时间选在了晚上零点开始,而且要尽量减少迁移所用的时间。
在迁移之前有三种方案:
数据库直接导出,拷贝文件到新服务器,在新服务器上导入。
使用【mysql gui tools】中的 mysqlmigrationtool。
数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的mysql服务下。
我在我的电脑上用虚拟机测试后,选中了占用时间最少的第三种方案。下面是三种方案的对比:
第一种方案的优点:会重建数据文件,减少数据文件的占用空间。
第一种方案的缺点:时间占用长。(导入导出都需要很长的时间,并且导出后的文件还要经过网络传输,也要占用一定的时间。)
第二种方案的优点:设置完成后传输无人值守
第二种方案的缺点:
设置繁琐。
传输中网络出现异常,不能及时的被发现,并且会一直停留在数据传输的状态不能被停止,如不仔细观察不会被发现异常。
传输相对其他fang时间长。
异常后很难从异常的位置继续传输。
第三种方案的优点:时间占用短,文件可断点传输。操作步骤少。(绝大部分时间都是在文件的网络传输)
第三种方案的缺点:可能引起未知问题,暂时未发现。
下面介绍一下第三种方案d迁移步骤:
保证mysql版本一致,安装配置基本一致(注意:这里的数据文件和库表结构文件都指定在同一目录data下)
停止两边的mysql服务(a服务器--迁移-->b服务器)
删除b服务器mysql的data目录下所有文件
拷贝a服务器mysql的data目录下除了ib_logfile和.err之外的文件到b服务器data下
启动b服务器的mysql服务,检测是否发生异常
迁移完成后,服务启动正常,未发现其他异常问题。
备注:经测试,源mysql的安装目录及数据文件目录 可以与 目标mysql的安装目录及数据文件目录 不一致。
此时,只需要拷贝您所需移动的dbname(如上:pa、testdb)及'mysql'和'ibdata1',即可。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯