如何使用xtrabackup备份
1、查看使用的引擎
[root@CMDB ~]# mysql -u root -p
mysql>
mysql> use cmdb;
Database changed
mysql> show table status\G;
*************************** 1. row ***************************
Name: xsmart_news
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 279
mysql> exit
2、下载 安装 xtrabackup
https://www.percona.com/downloads/XtraBackup/LATEST/因为我的mysql是5.1的,所以下载了 2.0版本
[root@CMDB ~]# ll
total 107860
-rw-------. 1 root root 1661 Mar 16 2017 anaconda-ks.cfg
-rw-r--r--. 1 root root 80142649 May 11 2017 cmdb.zip
-rw-r--r--. 1 root root 30223 Mar 16 2017 install.log
-rw-r--r--. 1 root root 8792 Mar 16 2017 install.log.syslog
-rw-r--r-- 1 root root 72436 Apr 8 12:44 lrzsz-0.12.20-27.1.el6.x86_64.rpm
-rw-r--r-- 1 root root 13079288 Apr 8 11:53 percona-xtrabackup-2.0.0-417.rhel6.x86_64.rpm
-rw-r--r--. 1 root root 17076672 Dec 18 2016 Python-2.7.13.tgz
-rw-r--r-- 1 root root 9489 May 12 2017 sign_in
[root@CMDB ~]# rpm -ivh percona-xtrabackup-2.0.0-417.rhel6.x86_64.rpm
warning: percona-xtrabackup-2.0.0-417.rhel6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:percona-xtrabackup ########################################### [100%]
3、添加mysql用户到mysql组
[root@CMDB ~]# gpasswd -a mysql mysql
Adding user mysql to group mysql
[root@CMDB ~]#
4、
创建备份存放目录
[root@CMDB ~]# mkdir -p /data/backups
[root@CMDB ~]# chown -R mysql: /data
[root@CMDB ~]#
5、创建备份用户
[root@CMDB ~]# mysql -u root -p
mysql> CREATE USER 'beifenyonghu'@'localhost' IDENTIFIED BY 'bfyhmima';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'beifenyonghu'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql>

6、允许mysql组成员访问 数据文件
[root@CMDB ~]# ll /var/lib/mysql/
total 28684
drwx------ 2 mysql mysql 4096 Apr 8 12:57 cmdb
drwx------. 2 mysql mysql 4096 May 13 2017 cmdb_v2
-rw-rw----. 1 mysql mysql 18874368 Apr 8 12:57 ibdata1
-rw-rw----. 1 mysql mysql 5242880 Apr 8 12:57 ib_logfile0
-rw-rw----. 1 mysql mysql 5242880 May 12 2017 ib_logfile1
drwx------. 2 mysql mysql 4096 May 12 2017 mysql
srwxrwxrwx 1 mysql mysql 0 Apr 8 12:27 mysql.sock
[root@CMDB ~]# chown -R mysql: /var/lib/mysql
[root@CMDB ~]# find /var/lib/mysql -type d -exec chmod 770 "{}" \;
[root@CMDB ~]#

7、
创建一个全备
[root@CMDB ~]# innobackupex --user=beifenyonghu --password=bfyhmima --no-timestamp /data/backups/xinbeifen
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona Inc 2009-2012. All Rights Reserved.
180408 13:14:26 innobackupex: All tables unlocked
180408 13:14:26 innobackupex: Connection to database server closed
innobackupex: Backup created in directory '/data/backups/xinbeifen'
innobackupex: MySQL binlog position: filename '', position
180408 13:14:26 innobackupex: completed OK!
[root@CMDB ~]# ll /data/backups/xinbeifen/
total 18468
-rw-r--r-- 1 root root 220 Apr 8 13:14 backup-my.cnf
drwxr-xr-x 2 root root 4096 Apr 8 13:14 cmdb
drwxr-xr-x 2 root root 4096 Apr 8 13:14 cmdb_v2
-rw-r----- 1 root root 18874368 Apr 8 13:14 ibdata1
drwxr-xr-x 2 root root 4096 Apr 8 13:14 mysql
-rw-r--r-- 1 root root 13 Apr 8 13:14 xtrabackup_binary
-rw-r--r-- 1 root root 1 Apr 8 13:14 xtrabackup_binlog_info
-rw-r----- 1 root root 83 Apr 8 13:14 xtrabackup_checkpoints
-rw-r----- 1 root root 2560 Apr 8 13:14 xtrabackup_logfile
[root@CMDB ~]#

8、创建热备
[root@CMDB ~]# innobackupex --apply-log /data/backups/xinbeifen
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
180408 13:17:39 InnoDB: Starting shutdown...
180408 13:17:44 InnoDB: Shutdown completed; log sequence number 0 1716748
180408 13:17:44 innobackupex: completed OK!
9、备份恢复
[root@CMDB ~]# service mysqld stop # 停止数据库
Stopping mysqld: [ OK ]
[root@CMDB ~]# mkdir /tmp/mysql
[root@CMDB ~]# mv /var/lib/mysql/* /tmp/mysql/
[root@CMDB ~]#
[root@CMDB ~]# innobackupex --copy-back /data/backups/xinbeifen
innobackupex: Starting to copy InnoDB log files
innobackupex: in '/data/backups/xinbeifen'
innobackupex: back to original InnoDB log directory '/var/lib/mysql'
innobackupex: Finished copying back files.
180408 13:43:26 innobackupex: completed OK!
[root@CMDB ~]# chown -R mysql: /var/lib/mysql
[root@CMDB ~]# service mysqld start
Starting mysqld: [ OK ]
[root@CMDB ~]#

10、报错:
[root@CMDB ~]# innobackupex --user=beifenyonghu --password=bfyhmima --no-timestamp /data/backups/xinbeifen
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona LLC and/or its affiliates 2009-2013. All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
Get the latest version of Percona XtraBackup, documentation, and help resources:
http://www.percona.com/xb/p
180408 13:07:40 innobackupex: Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_group=xtrabackup' as 'beifenyonghu' (using password: YES).
180408 13:07:40 innobackupex: Connected to MySQL server
innobackupex: got a fatal error with the following stacktrace: at /usr/bin/innobackupex line 4754
main::check_server_version() called at /usr/bin/innobackupex line 1541
innobackupex: Error: Built-in InnoDB in MySQL 5.1 is not supported in this release. You can either use Percona XtraBackup 2.0, or upgrade to InnoDB plugin.
[root@CMDB ~]#
原因:XtraBackup-2.2.9 和 MySQL 5.1 不兼容,请安装 XtraBackup-2.0,或者升级mysql