mysql5.7迁移数据库记录

主机A库太多了影响访问速度了,所以想迁移一部分库到新主机B,环境都是Centos7 都是mysql5.7

背景:
主机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两个文件删除;

mysql5.7迁移数据库记录

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 6月  13 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服务:

mysql5.7迁移数据库记录

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

转载作品,原作者:,文章来源:https://blog.csdn.net/weixin_41718485/article/details/117882079

(0)
打赏 微信赞赏 微信赞赏 支付宝赞赏 支付宝赞赏
上一篇 2022-02-17 09:18
下一篇 2022-02-20 14:43

相关推荐

  • MySQL基本数据类型与约束条件

    数据存储的演变 # 方向: 朝着更加统一和方便管理 数据库的发展史 # 由本地保存逐步演变为线上保存 数据库的本质 # 本质上就是一款CS架构的软件 “”” 数据库: 在不同场景可…

    2022-02-20 MySQL
    2540
  • DBSyncer 一款开源的数据同步中间件

    DBSyncer是一款开源的数据同步中间件,提供Mysql、Oracle、SqlServer、Elasticsearch(ES)、Kafka、SQL(Mysql/Oracle/SqlServer)等同步场景。支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预警等。

    2022-02-25 MySQL
    6780
  • MySql与Redis实时同步部署及配置手册

    MySql与Redis实时同步部署及配置手册,主要使用Mysql与Redis之间的数据同步,通过Mysql的Binlog实现,业务中可以直接使用,方面高效。

    2021-11-24 MySQL
    6520
  • 在线SQL转换工具,Oracle、Mysql、SQLServer语句互转

    在线SQL转换工具,Oracle、Mysql、SQLServer语句互转,可以用于不同数据库之间的SQL语句转换,不管是创建、查询、修改还是任何级联语句都支持。

    2024-01-16
    3.1K0
  • MySQL 故障诊断:MySQL 占用 CPU 过高问题定位及优化

    在使用 MySQL 的过程中会遇到各种瓶颈问题,常见的是 IO 瓶颈,但是有时候会出现服务器 CPU 使用率超过 100%,应用页面访问慢,登录服务器负载很高。而导致这个问题竟然是 MySQL 进程,按理说如果 MySQL 运行稳定,服务器的 CPU 资源并不会跑满,如果出现这个问题,初步可以断定,是 MySQL 实例中出现了问题 SQL。

    MySQL 2022-03-11
    4280
  • Cannal实现MySQL主从同步环境搭建

    canal [kə’næl],译意为水道/管道/沟渠,主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费。canal是阿里巴巴旗下的一款开源项目,基于J…

    2024-11-24
    1850

发表回复

登录后才能评论
扫码了解
扫码了解
分享本页
返回顶部