数据库复制 - mysql 直接拷贝data 目录下文件 进行数据库迁移时遇到的一些问题??
问题描述
我目前有两个数据库:
mysql5.6.x
mysql5.7.x
现在要将mysql5.6.x 的所有数据 迁移到 mysql5.7.x 中,采取的是直接将 mysqldata 目录下的相关文件夹(数据库)拷贝到 mysql5.7.x 的data目录下。
期间出现问题,通过百度知道: innodb 的表,直接复制文件是无法使用的,会提示 table doesn’t exists ,在复制的时候,应将data目录下的 ibdata1 文件一并复制过去,并且删除ib_logfile1 ib_logfile1 文件。
如果是导入到全新的数据库中(mysql5.7.x 数据库新创建,里面没有任何已创建的数据库),那肯定是完美的做法。
可若是,将被导入的数据库中已经有创建的数据库了该怎么办??
若是将 mysql5.6.x 中的 ibdata1 文件 覆盖 mysql5.7.x 中的 ibdata1 , 则从mysql5.6.x 迁移过来的数据库全部有用 , 可 mysql5.7.x 中原先已创建的数据库将全被报废。
有没有办法实现: 通过直接拷贝文件的方式 迁移数据库, 且不会出现 上述问题??
希望大神们都分享些: 数据库迁移的方法
问题解答
回答1:可以使用navicat的数据传输,只传输你需要迁移的数据(表、视图、函数等)。
回答2:xtrabackup
回答3:1、官方有升级手册,你为什么要看百度……http://dev.mysql.com/doc/refm...
2、在目的机已有数据库的情况下,你还要整个数据库目录都往上贴,什么想法。
通过直接拷贝文件的方式迁移数据库,本身风险就非常大,你还要继续给自己增加难度。
相关文章:
1. docker gitlab 如何git clone?2. docker-compose 为何找不到配置文件?3. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?4. docker不显示端口映射呢?5. dockerfile - [docker build image失败- npm install]6. docker内创建jenkins访问另一个容器下的服务器问题7. docker 17.03 怎么配置 registry mirror ?8. javascript - 如何申请blog.xxx.com 这种二级域名?9. docker 下面创建的IMAGE 他们的 ID 一样?这个是怎么回事????10. mac连接阿里云docker集群,已经卡了2天了,求问?
