利用拷贝data目录的方式进行迁移mysql5.7数据库

利用拷贝data目录文件的方式迁移mysql数据库

其实迁移数据库,一般用sql文件就行,把A服务器数据库的表结构和数据等等导出,然后导入到B服务器数据库,
但是这次数据文件过大,大约有57个G,使用命令行导入,效果不是很好,经常在执行过程中报错、卡死。

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

 步骤如下: 1、将编译好的Mysql5.7 进行解压安装初始化 
> 下载5.7编译好的tar包 链接:https://pan.baidu.com/s/1mgHZtyEvC-hnAfCY3mvCsA 
> 提取码:1j7o
首先创建对应的目录
/databak/data/IoT-prod-innerstatisticserv
将mysql5.7的tar.gz包解压到/databak/data/IoT-prod-innerstatisticserv下面 
修改my.cnf文件 并指定端口
 
在这里 为防止共享表空间 时间久了导致idbata1文件过大 因此查看是否开启独立表空间
innodb_file_per_table=1
同时修改vim /databak/data/IoT-prod-innerstatisticserv/mysql5.7/support-files/mysql.server
指定
basedir=/databak/data/IoT-prod-innerstatisticserv/mysql5.7
datadir=/databak/data/IoT-prod-innerstatisticserv/mysql5.7/data
初始化数据库
 
/databak/data/IoT-prod-innerstatisticserv/mysql5.7/bin/mysql_install_db --defaults-file=/databak/data/IoT-prod-innerstatisticserv/mysql5.7/my.cnf --basedir=/databak/data/IoT-prod-innerstatisticserv/mysql5.7 --datadir=/databak/data/IoT-prod-innerstatisticserv/mysql5.7/data --user=mysql
 提示:2020-08-26T02:27:38.726166Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead

执行mysqld --initialize 即可

启动服务

cd /databak/data/IoT-prod-innerstatisticserv/mysql5.7/support-files/
./mysql.server start
2、首先要确定需要拷贝的data目录在哪里

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

3、需要拷贝的文件包括:数据库文件(例如上图所示的innerstatistic、mysql等数据库)和  ibdata1  (这个必须拷贝)
4、停掉mysql服务,将拷贝的文件复制到目标数据库的data目录中,切记拷贝过来后 需要删除目标数据库的data目录中原来的ib_logfile0、ib_logfile1
5.复制好后,启动mysql服务,用数据库连接工具连接数据库即可看到导进来的数据库

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值