问题描述:利用外部xtrabackup工具来做迁移mysql数据库,或者恢复数据库

xtrabackup迁移mysql

1.环境

mysql源库

mysql目标迁移库

IP

192.168.163.3

196.168.163.16

操作系统

Ceontos7.8

Ceontos7.8

数据库版本

mysql-5.7.32

mysql-5.7.32

mysql实例

db_hzh03

db_hzh03

my.cnf路径

/data/mysql-5.7.32/db_hzh03/conf/hzh03.cnf

/data/mysql-5.7.32/db_hzh03/conf/hzh03.cnf

socket路径

/data/mysql-5.7.32/db_hzh03/mysql.sock

/data/mysql-5.7.32/db_hzh03/mysql.sock

xtrabackup版本

xtrabackup-24

xtrabackup-24

2.Xtrabackup安装

在源库和目标库都安装percona-xtrabackup-24-2.4.21-1.el7.x86_64.rpm

Xtrabackup下载路径

2.1软件安装

wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.21/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.21-1.el7.x86_64.rpm

链接:https://pan.baidu.com/s/1mPIcKyleAVKTWk_chPFzZw
提取码:htmy

2.2安装依赖包

yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL

2.3安装软件

rpm -ivh  percona-xtrabackup-24-2.4.21-1.el7.x86_64.rpm --nodeps --force

2.4测试xtrabackup是否安装成功

[root@localhost ~]# xtrabackup -version

两个服务器同样操作

3.源端备份

3.1源端制造测试验证数据

用户创建

数据库创建

mysql> create database test01;

Query OK, 1 row affected (0.01 sec)

3.2备份

创建备份目录

[root@localhost ~]# mkdir -p /mysqlbackup/

[root@localhost ~]# chown -R mysql.mysql /mysqlbackup/

[root@localhost ~]# innobackupex --defaults-file=/data/mysql-5.7.32/db_hzh03/conf/hzh03.cnf --socket=/data/mysql-5.7.32/db_hzh03/mysql.sock --user=root --password=zabbix.9.31   /mysqlbackup

查看备份出来的文件

3.3传输文件到目标服务器

[root@localhost /mysqlbackup]# scp -r 2021-01-18_11-22-21 mysql@192.168.163.16:/data/mysql-5.7.32/

4.目标端恢复

在线恢复数据库备份时,注意一些参数的含义,下面所用到的参数

--defaults-file:目标端数据库的.cnf配置文件

--datadir   :重新规划的恢复数据文件位置

--socket   :目标端数据库的socket文件位置

4.1导入报错

Can't locate Digest/MD5.pm

[root@localhost /data/mysql-5.7.32]# innobackupex --defaults-file=/data/mysql-5.7.32/db_hzh03/conf/hzh03.cnf --socket=/data/mysql-5.7.32/db_hzh03/mysql.sock --user=root --password=zabbix.9.31   /data/mysql-5.7.32/2021-01-18_11-22-21/

xtrabackup: recognized server arguments: --datadir=/data/mysql-5.7.32/db_hzh03/data --tmpdir=/data/mysql-5.7.32/db_hzh03/tmp --log_bin=/data/mysql-5.7.32/db_hzh03/binlog/hzh03-bin --server-id=3330621 --open_files_limit=65000 --innodb_open_files=63000 --innodb_data_home_dir=/data/mysql-5.7.32/db_hzh03/data --innodb_log_group_home_dir=/data/mysql-5.7.32/db_hzh03/data --innodb_log_file_size=500M --innodb_log_files_in_group=3 --innodb_undo_directory=/data/mysql-5.7.32/db_hzh03/data --innodb_undo_tablespaces=3 --innodb_flush_log_at_trx_commit=2 --innodb_flush_method=O_DIRECT --innodb_io_capacity=2000 --innodb_buffer_pool_size=4G --innodb_log_buffer_size=32M --innodb_max_dirty_pages_pct=85 --innodb_adaptive_hash_index=0

xtrabackup: recognized client arguments:

210118 14:34:05 innobackupex: Starting the backup operation

IMPORTANT: Please check that the backup run completes successfully.

           At the end of a successful backup run innobackupex

           prints "completed OK!".

Can't locate Digest/MD5.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at - line 693.

BEGIN failed--compilation aborted at - line 693.

210118 14:34:06 Connecting to MySQL server host: localhost, user: root, password: set, port: not set, socket: /data/mysql-5.7.32/db_hzh03/mysql.sock

Using server version 5.7.32-log

innobackupex version 2.4.21 based on MySQL server 5.7.32 Linux (x86_64) (revision id: 5988af5)

xtrabackup: uses posix_fadvise().

xtrabackup: cd to /data/mysql-5.7.32/db_hzh03/data

xtrabackup: open files limit requested 65000, set to 65000

xtrabackup: using the following InnoDB configuration:

xtrabackup:   innodb_data_home_dir = /data/mysql-5.7.32/db_hzh03/data

xtrabackup:   innodb_data_file_path = ibdata1:12M:autoextend

xtrabackup:   innodb_log_group_home_dir = /data/mysql-5.7.32/db_hzh03/data

xtrabackup:   innodb_log_files_in_group = 3

xtrabackup:   innodb_log_file_size = 524288000

xtrabackup: using O_DIRECT

InnoDB: Number of pools: 1

InnoDB: Operating system error number 2 in a file operation.

InnoDB: The error means the system cannot find the path specified.

InnoDB: File /data/mysql-5.7.32/db_hzh03/data/ib_logfile0: 'open' returned OS error 71. Cannot continue operation

InnoDB: Cannot continue operation.

系统缺少支持perl-Digest-MD5组件,如果联网的话,可以直接yum安装

[root@localhost /etc/yum.repos.d]# yum -y install perl perl-devel perl-Time-HiRes perl-DBD-MySQL

[root@localhost /etc/yum.repos.d]# yum -y install perl-Digest-MD5

4.2导入恢复

[mysql@localhost ~]$ innobackupex --defaults-file=/data/mysql-5.7.32/db_hzh03/conf/hzh03.cnf --socket=/data/mysql-5.7.32/db_hzh03/mysql.sock --user=root --password=zabbix.9.31  --copy-back /data/mysql-5.7.32/2021-01-18_11-22-21/

4.3重启数据库

[mysql@localhost /data/mysql-5.7.32]$ sh /data/mysql-5.7.32/db_hzh03/bin/shutdown.sh

Enter password:

[mysql@localhost /data/mysql-5.7.32]$ sh /data/mysql-5.7.32/db_hzh03/bin/startup.sh

[mysql@localhost /data/mysql-5.7.32]$ sh /data/mysql-5.7.32/db_hzh03/bin/login.sh

  

4.4验证测试数据

至此恢复完成

xtrabackup迁移mysql5.7.32的更多相关文章

  1. 源码安装mysql-5.6.32.tar.gz

    http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.32.tar.gz 安装依赖包: #yum install wget bison gcc gcc-c ...

  2. CentOS6.5一键安装MySQL5.5.32(源码编译)

    ###################################################mysql_install.sh                                 ...

  3. MySQL-5.5.32 配置文件优化详解

    目录 MySQL-5.5.32 配置文件优化详解 一.配置文件说明 2.my-medium.cnf 3.my-large.cnf 4.my-huge.cnf 5.my-innodb-heavy-4G. ...

  4. cmake 编译安装mysql5.5.32

    1.安装cmake 上传tar包 rz cmake-2.8.8.tar.gz 解压tar包,并进入解压后的文件夹 tar xf cmake-2.8.8.tar.gz cd cmake-2.8.8 编译 ...

  5. XtraBackup备份mysql5.1.73

    一.基础介绍 mysql5.1在源码中配备了两个版本的innodb存储引擎源码:innobase和innodb_plugin,编译安装的时候可以通过参数--with-plugins=innobase, ...

  6. CentOS下使用Percona XtraBackup对MySQL5.6数据库innodb和myisam的方法

    Mysql卸载从下往上顺序 [root@localhost /]# rpm -e --nodeps qt-mysql-4.6.2-26.el6_4.x86_64[root@localhost /]# ...

  7. MySQL5.7.32 通用版本安装

    1 上传镜像,配置好yum源 2 下载MySQL相关的包 https://dev.mysql.com/downloads/mysql/ 3  解压安装: tar -zxvf mysql-5.7.23- ...

  8. CentOs下MySQL5.6.32源码安装

    . 安装好--安装MySQL需要的包 yum install -y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c+ ...

  9. centos7 安装mysql5.6.32

    1.  检查是否存在旧的mysql,执行: rpm -qa|grep -i mysql PS:若存在旧mysql,删除查询到的旧mysql,执行: rpm -e --nodeps  XXXX      ...

随机推荐

  1. selenium.common.exceptions.WebDriverException: Message: 'chromedriver'解决

    相信很多第一次学习selenium的同学们也对这个异常不陌生了,但具体该如何解决这个bug呢? 主要的原因还是因为selenium模拟的客户端对浏览器的操作,但相应浏览器的驱动版本不匹配导致的. 为了 ...

  2. 【面试专栏】JAVA锁机制

    1. 悲观锁 / 乐观锁   在Java和数据库中都存在悲观锁和乐观锁的应用.Mysql锁机制中的悲观锁和乐观锁请查看:   Mysql锁机制--悲观锁和乐观锁   悲观锁:在获得数据时先加锁,只到数 ...

  3. 精尽Spring MVC源码分析 - HandlerMapping 组件(一)之 AbstractHandlerMapping

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  4. Java基础数据类型详解

    在Java中的数据类型一共有8种,大致分为整型(4个)浮点型(2个)布尔(1)字符(1个) 分类 类型 默认值 占用字节 范围 整型 byte 0 1 = 8 bit -2^7 - 2^7 short ...

  5. PB级大规模Elasticsearch集群运维与调优实践【>>戳文章免费体验Elasticsearch服务30天】

    [活动]Elasticsearch Service免费体验馆>> Elasticsearch Service自建迁移特惠政策>>Elasticsearch Service新用户 ...

  6. python初学者-代码规范

    一.编程规范 1.缩进(代码块) 类定义.函数定义.选择结构.循环结构.with块.行尾的冒号表示缩进的开始. python程序是依靠代码块的缩进来体现代码之间的逻辑关系,缩进结束就表示一个代码块结束 ...

  7. 任务调度框架Quartz快速入门!

    目录 Quartz是什么 Quartz中的重要API及概念 超重要API 重要概念 Quartz设计理念:为什么设计Job和Trigger? 最简单的Quartz使用案例 Job实例和JobDetai ...

  8. jrebel 启动失败的处理

    jrebel 启动失败的处理 今天使用 jrebel 启动项目的时候,突然啥日志都没有,只有一句Disconnected from the target VM, address: '127.0.0.1 ...

  9. linux yum install

    作为一名新手,学习Linux已经一个月了,其间遇到了不少问题,而今天笔者遇到的问题是 #yum install pam-devel #This system is not registered to ...

  10. 访问需要HTTP Basic Authentication认证的资源的c#的实现

    string username="username"; string password="password"; //注意这里的格式哦,为 "usern ...