mysql5.7迁移数据库记录

本文记录了一种快速迁移大量数据的MySQL数据库的方法,通过直接拷贝数据库目录和ibdata1文件实现。过程中需要注意服务的停止、文件所有者的修改以及在目标主机上启动服务的步骤。尽管这种方法可能导致数据不一致,但适用于对连续性要求不高的业务。在遇到问题时,使用innobackupex备份的ibdata1文件解决了启动服务的故障。
摘要由CSDN通过智能技术生成

背景:
主机A库太多了影响访问速度了,所以想迁移一部分库到新主机B,环境都是Centos7 都是mysql5.7,简单记录下几个需要注意的点,怕以后忘了;
要迁移的数据库量比较大,十几个库总计约226GB容量,使用navicat客户端倒的话大概需要二十几个小时,并且不能批量倒;使用mysqldump和在navicat客户端原理一样时间久但是可以不停服务;使用innobackupex导出再还原好于前两者,但是恢复时要求datadir为空;
在网上找了找方法,最快的是直接拷贝数据库目录文件和ibdata1文件,这方法要停服务或者锁表,不然你拷贝时有数据写入会导致数据不一致;由于业务对连续性要求不高可以停一会所以选择这个方法(需要注意的是目标主机一定和源主机系统、mysql版本一定要一致);

开始:
1、A主机停服务,直接拷贝需要迁移的库到目标主机B的datadir下:

[root@c7151 mysql]# systemctl stop mysqld
[root@c7151 mysql]# scp -r xxx_716 10.10.10.153:/data/emr/mysql/

2、目标主机B也需要停服务并且需要把datadir中ib_logfile0、ib_logfile1两个文件删除;
在这里插入图片描述
3、拷贝ibdata1文件至主机B

[root@c7151 mysql]# scp ibdata1 10.10.10.153:/data/emr/mysql/

4、B主机修改拷贝过来的库和ibdata1文件的所有者

[root@c7153 mysql]# chown -R mysql.mysql /data/emr/mysql/

5、启动服务,发现没启成功,日志中也没有报错;感觉是ibdata1文件的问题;

[root@c7153 mysql]# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

6、于是使用innobackupex备份一个库得到ibdata1文件(innobackupex备份会完整拷贝ibdata1文件);

[root@c7151 2021-06-13_16-55-10]# innobackupex --user=root --password=*** --databases='xxx_7' /data/backup/
[root@c7151 2021-06-13_16-55-10]# ls
backup-my.cnf  xxx_7  ib_buffer_pool  ibdata1  xtrabackup_binlog_info  xtrabackup_checkpoints  xtrabackup_info  xtrabackup_logfile
[root@c7151 2021-06-13_16-55-10]# ll -h ibdata1 
-rw-r----- 1 root root 10G 613 17:01 ibdata1

7、将innobackupex备份所得ibdata1文件拷贝的B主机datadir目录下覆盖原文件;

[root@c7151 2021-06-13_16-55-10]# scp ibdata1 10.10.10.153:/data/emr/mysql/

8、主机B上启动mysql服务:
在这里插入图片描述

服务可以启动,看似一切正常,后面发现重启的时候有报错,但是服务能起来,貌似表都可以用,有待观察。。。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值