XtraBackup在线进行MySQL的主从部署一

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 【前言】MySQL的主从部署的方法有很多种,最常见的方法就是用mysqldump的方式进行,众所周知mysqldump方式构建主从的方法有两个很大的缺点: 1、主库需要锁表,这就意味着这期间主库不能做修改的操作(在做导出的时候需要停止相关的接口和应用,对于一些小公司可能没影响,但如果是电商平台,就是相当于停止服务; 2、当数据量较小的时候mysqldump的方法是很快的,但是当数据量超过20G的时候,整个过程就相当的慢。

【前言】MySQL的主从部署的方法有很多种,最常见的方法就是用mysqldump的方式进行,众所周知mysqldump方式构建主从的方法有两个很大的缺点:

1、主库需要锁表,这就意味着这期间主库不能做修改的操作(在做导出的时候需要停止相关的接口和应用,对于一些小公司可能没影响,但如果是电商平台,就是相当于停止服务;

2、当数据量较小的时候mysqldump的方法是很快的,但是当数据量超过20G的时候,整个过程就相当的慢。曾经用这种方法导一个70G的数据库,在使用的是高端存储的情况下,导出花费了50分钟。

 

Percona提供了xtrabackup开源备份工具,可以快速且无锁表地进行mysql的备份并且记录相应的log信息,特点如下:

  • 备份过程快速、可靠;
  • 备份过程不会打断正在执行的事务;
  • 能够基于压缩等功能节约磁盘空间和流量;
  • 自动实现备份检验;
  • 还原速度快;

 

本文档介绍通过xtrabackup进行搭建mysql的主从数据库;

【一】软件的安装

1.1 下载地址 https://www.percona.com/downloads/XtraBackup/

当前的版本已更新到2.2.11;

 

1.2 软件的安装

下载相应的rpm包后,运行:rpm -ivh percona-xtrabackup-2.2.11-1.el6.x86_64.rpm  

[root@OTO-DB-T02 share]#  rpm -ql  percona-xtrabackup
/usr/bin/innobackupex
/usr/bin/xbcrypt
/usr/bin/xbstream
/usr/bin/xtrabackup

 

1.3 软件的介绍

XtraBackup中主要包含了三个工具

xtrabackup:支持innodb存储引擎表,xtradb存储引擎表

innobackupex:支持innodb存储引擎表、xtradb存储引擎表、myisam存储引擎表。

xbstream:流备份工具,用于减少备份和传输过程中的IO(http://blog.chinaunix.net/uid-26364035-id-3845609.html

 

 

1.4 配置datadir参数

[root@OTO-DB-T02 backup]#  more /etc/my.cnf |grep datadir
datadir=/data/mysql    

 

 

注:当datadir参数没有配置时还原的时候会报如下错误

innobackupex: got a fatal error with the following stacktrace: at /usr/bin/innobackupex line 2510
    main::copy_back(0) called at /usr/bin/innobackupex line 1570
innobackupex: Error: Backup data file '/data/backup/2015-06-15_14-06-59/ibdata1' does not exist. at /usr/bin/innobackupex line 2510.

 

【二】 工具的使用

[root@OTO-DB-T02 backup]# innobackupex  --help
Options:
    --apply-log
        Prepare a backup in BACKUP-DIR by applying the transaction log file
        named "xtrabackup_logfile" located in the same directory. Also,
        create new transaction logs. The InnoDB configuration is read from
        the file "backup-my.cnf".

    --backup-locks
        This option controls if backup locks should be used instead of FLUSH
        TABLES WITH READ LOCK on the backup stage. The option has no effect
        when backup locks are not supported by the server. This option is
        enabled by default, disable with --no-backup-locks.

    --close-files
        Do not keep files opened. This option is passed directly to
        xtrabackup. Use at your own risk.

    --compact
        Create a compact backup with all secondary index pages omitted. This
        option is passed directly to xtrabackup. See xtrabackup
        documentation for details.

    --compress
        This option instructs xtrabackup to compress backup copies of InnoDB
        data files. It is passed directly to the xtrabackup child process.
        Try 'xtrabackup --help' for more details.

 

2.1的完整备份及还原过程

步骤一:进行数据库的完整备份

innobackupex --defaults-file=/etc/my.cnf   --user=root    --password='123456'   /data/backup

 

2.2 InnoDB备份,使备份可用

innobackupex   --user=root    --password='123456'    --apply-log  /data/backup/2015-06-15_14-57-24   (步骤一备份完成后会产生2015-06-15_14-57-24目录)

 

说明:第一步备份相当于备份当前数据库的数据文件,但是备份期间系统的变更这个过程是不能备份的。所以要进行步骤二的备份,这个步骤可用记录在备份步骤一系统进行的所有变更。这样在进行恢复的过程会累加步骤一和步骤二的备份形成一个完整的备份;

 

2.3 数据库的还原

innobackupex    --defaults-file=/etc/my.cnf  --user=root    --password='123456'  --copy-back   /data/xtrabackup/2015-02-01_08-30-13/

 

2.4 文件的授权

chown –R mysql:mysql /data/mysql

 

2.5 启动数据库

service mysqld start;启动数据库

 

2.6 根据/data/mysql下面的信息连接主库

[root@OTO-DB-T02 mysql]# cat xtrabackup_binlog_pos_innodb
./mysql-bin.000027    17645

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本文作者:JOHN,某上市公司DBA,业余时间专注于数据库的技术管理,从管理的角度去运用技术。

技术博客:猎人笔记                                                数据库技术群:367875324 (请备注数据库类型)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
8月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
1137 4
|
10月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
741 10
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
589 41
|
10月前
|
关系型数据库 MySQL 数据库
为什么 MySQL 不推荐用 Docker 部署?
本文探讨了MySQL是否适合容器化的问题,分析了Docker容器在数据安全、性能瓶颈、状态管理及资源隔离等方面的挑战,并指出目前主流分布式数据库如TDSQL和OceanBase仍倾向于部署在物理机或KVM上。
469 0
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
820 17
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
504 18
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
355 10
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
979 26
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
1128 7

推荐镜像

更多