Mysql第三方备份工具Xtrabackup使用说明

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 1、Xtrabackup安装1)yum安装方式:yuminstallhttp://www.percona.com/downloads/percona-release/redhat/0.

1Xtrabackup安装

1)yum安装方式:

yuminstallhttp://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

yumlist | grep percona

yuminstall xtrabackup

 

2)apt安装方式:

apt-keyadv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A

debhttp://repo.percona.com/apt VERSION main

deb-srchttp://repo.percona.com/apt VERSION main

apt-getupdate

apt-getinstall percona-xtrabackup

 

2、全备:

innobackupex--defaults-file=/etc/my.cnf --host=127.0.0.1 -port=3306 --user=root--password=123456 --slave-info --safe-slave-backup --no-timestamp  /data/mysqlbak/2015.sql1717

参数说明:

--slave-info会将Masterbinary log的文件名和偏移位置记录打印出来,同时也保存到xtrabackup_slave_info文件中.

--safe-slave-backup会暂停SlaveSQL线程,等待到没有打开的临时表的时候开始备份.备份结束后SQL线程会自动启动,这样就可以确保一致性的复制状态.

--no-timestamp 是让innobackupex别自动生成一个时间戳的目录名/home/mysqlbak/2013***,而是存放在/home/mysqlbak/base


3、全备恢复:

rm-rf /usr/local/mysql/data/*    ;#测试环境删除数据目录

innobackupex  --apply-log /data/mysqlbak/2015.sql1717  ;#准备

innobackupex  --copy-back /data/mysqlbak/2015.sql1717  ;#恢复

chown-R mysql.mysql /usr/local/mysql/data  ;#修改目录权限

/etc/init.d/mysqlstart       #启动mysql

 

4、部分备份:

innobackupex部分备份,有以下三个参数可选择:

1.--databases="database1[.table1] ..." 比如: --databases="employees sales.orders"

2.--tables-file=tables.txt, tables.txt    文件每一行有一个database.table

3.--include=regexp,     支持正则,比如: --include='^database(1|2)\.reports'

在准备部分备份和拷贝恢复部分备份到一个空的datadir之后,请确保datadir中有”mysql”数据库,否则MySQL无法启动.
如果没有,则需要先创建系统的数据库再启动。

 

5、增量备份:

进行第一次增量备份,需要在有一次完整备份的基础上进行:

innobackupex  --defaults-file=/etc/my.cnf --host=127.0.0.1-port=3306 --user=root --password=123456 --no-timestamp  --incremental/data/mysqlbak/2015.sql1717-zengliang --incremental-basedir=/data/mysqlbak/2015.sql1717

333795

参数说明:

  –incremental        指定增量备份存放的目标目录

  –incremental-basedir= 指定完整备份的目录

#也可以每次都基于全备做增量备份,而不是基于上一次的增备。

 

6、增量恢复:

增量备份的还原操作跟完整的还原有点不一样,首先必须使用–apply-log –redo-only对完整备份的目录及所有增量备份目录进行操作,然后就可以像还原完整备份时的操作了。

 

1)准备全备的日志

innobackupex  --apply-log --redo-only  --use-memory=4G  /data/mysqlbak/2015.sql1717

 

2)把增量备份合并到全量备份中

innobackupex--defaults-file=/etc/mysql/my.cnf --host=127.0.0.1  -port=3306 --user=root --password=123456  --slave-info --safe-slave-backup --apply-log--use-memory=4G /data/mysqlbak/2015.sql1717 --incremental-dir=/data/mysqlbak/2015.sql1717-zengliang

 

3)把这个全备目录拷贝到数据mysql数据目录

innobackupex  --copy-back /data/mysqlbak/2015.sql1717

 

7、附xtrabackup参数说明:

--print-defaults        显示默认选项。Xtrabackup默认情况会去读my.cnf文件,读取顺序是/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf

--no-defaults          忽略任何my.cnf文件选项

--defaults-file=#        读取指定的my.cnf文件

--defaults-extra-file=#   再读取另外一个文件

--target-dir=name      目的目录,默认目录在./xtrabackup_backupfiles/,相对于datadir目录

--backup              备份

--stats                计算datadir目录统计信息

--prepare 从backup    恢复

--export                   在恢复时,创建文件导入到另一个数据库

--apply-log-only       在恢复时,停止恢复进程不进行LSN只使用log

--print-param              打印出参数

--use-memory=#buffer_pool_size

--suspend-at-end       在备份时,创建xtrabackup_suspended文件,直到备份完成后删掉

--throttle=#               限制IO总数

--log-stream               记录标准输出信息xtrabackup_logfile

--extra-lsndir=name    仅适用于backup,保存另一份xtrabackup_checkpoints文件

--incremental-lsn=name 仅适用于backup,增量备份

--incremental-basedir=name 仅适用于backup,增量备份目录

--incremental-dir=name 仅适用于prepare,恢复指定目录下的.delta文件和日志文件

--tables=name          过滤某些表

--tables_file=name         过滤database.table列表文件

--create-ib-logfile

-h,--datadir=name datadir目录

-t,--tmpdir=name tmpdir目录

--parallel=#               默认为1.传输数据文件的并行线程数。没有任何流模式的影响

--innodb_*             有关innodb参数


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 关系型数据库 MySQL
mysql数据库备份与恢复
MySQL数据库的备份与恢复是确保数据安全性和业务连续性的关键操作。
64 4
|
2月前
|
canal 消息中间件 关系型数据库
Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
【9月更文挑战第1天】Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
533 4
|
27天前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
47 3
|
28天前
|
安全 关系型数据库 MySQL
MySQL用户备份
【10月更文挑战第2天】MySQL用户备份
50 3
|
28天前
|
存储 关系型数据库 MySQL
MySQL如何备份?
【10月更文挑战第2天】MySQL如何备份?
67 3
|
2月前
|
SQL 缓存 关系型数据库
MySQL高级篇——性能分析工具
MySQL的慢查询日志,用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long-query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为 10,意思是运行10秒以上(不含10秒)的语句,认为是超出了我们的最大忍耐时间值。它的主要作用是,帮助我们发现那些执行时间特别长的 SOL 查询,并且有针对性地进行优化,从而提高系统的整体效率。当我们的数据库服务器发生阻塞、运行变慢的时候,检查一下慢查询日志,找到那些慢查询,对解决问题很有帮助。
MySQL高级篇——性能分析工具
|
2月前
|
安全 关系型数据库 MySQL
Navicat工具设置MySQL权限的操作指南
通过上述步骤,您可以使用Navicat有效地为MySQL数据库设置和管理用户权限,确保数据库的安全性和高效管理。这个过程简化了数据库权限管理,使其既直观又易于操作。
244 4
|
3月前
|
SQL 关系型数据库 MySQL
在Linux中,mysql 数据备份工具有哪些?
在Linux中,mysql 数据备份工具有哪些?
|
3月前
|
SQL 关系型数据库 MySQL
在Linux中,如何备份和恢复MySQL数据库?
在Linux中,如何备份和恢复MySQL数据库?
|
3月前
|
SQL 数据可视化 关系型数据库
MySQL 备份可视化巡检系统
MySQL 备份可视化巡检系统

热门文章

最新文章