MySQL数据库迁移:拷贝data目录

其实迁移数据库,一般用sql文件就行,把A服务器数据库的表结构和数据等等导出,然后导入到B服务器数据库,

但是这次数据文件过大,大约有40个G,使用命令行导入,效果不是很好,经常在执行过程中报错、卡死。

最后参考网上的帖子,复制源数据库的data目录下的文件,完成数据迁移。

步骤如下:

1.首先要确定data目录在哪里

这个问题困扰了我很久,因为网上的帖子大部分只是说拷贝mysql数据库目录下的data文件夹中的数据,但是data目录到底在哪里,并未说明,我开始是拷贝的MySQL安装目录中的data文件夹,但是显然这是错误的,拷贝后并未出现需要的数据库。

 

其实是拷贝mysql的数据存放路径,具体如下

C:\ProgramData\MySQL\MySQL Server 5.6\data(注意:ProgramData文件夹是隐藏的,需要先显示出来)

(也可以使用命令   show global variables like "%datadir%";来查找data目录

2.需要拷贝的文件包括:数据库文件(例如上图所示的gd_base、common、gd_dbwizard等数据库)和  ibdata1  (这个必须拷贝)

3.停掉mysql服务,将拷贝的文件复制到目标数据库的data目录中(路径和上面的一样在ProgramData文件夹中

4.复制好后,启动mysql服务,用数据库连接工具连接数据库即可看到导进来的数据库

 

 

打开迁移后的数据库、数据表如报错:Errcode: 13 "Permission denied"  则是权限问题,需要在迁移后的数据库data目录下响应的库名,加上权限:

 

参考文档:

mysql报错Errcode: 13 "Permission denied" https://blog.csdn.net/zxx540/article/details/79106770

CentOS7 安装Mysql5.7 解压缩版 https://www.jianshu.com/p/9043223c4168

利用拷贝data目录文件的方式迁移mysql数据库 https://www.cnblogs.com/hanmk/p/7989201.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值