percona-xtrabackup-24-2.4.13-1.el7.x86_64.rpm 工具包能夠從官網下載
https://www.percona.com/downloads/Percona-XtraBackup-LATEST/Percona-XtraBackup-8.0.4/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.4-1.el7.x86_64.rpmmysql
[root@CentOS7 ~]# yum install -y percona-xtrabackup-24-2.4.13-1.el7.x86_64.rpm
原主機上有mysql的hellodb表sql
MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | hellodb | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.01 sec)
使用xtrabackup 工具有份數據庫數據庫
[root@CentOS7 ~]# xtrabackup --backup --target-dir=/data/backup/
查看backup下已經生成了備份的文件app
[root@CentOS7 ~]#ls /data/backup/ -l total 18460 -rw-r----- 1 root root 431 May 6 22:32 backup-my.cnf drwxr-x--- 2 root root 272 May 6 22:32 hellodb -rw-r----- 1 root root 18874368 May 6 22:32 ibdata1 drwxr-x--- 2 root root 4096 May 6 22:32 mysql drwxr-x--- 2 root root 4096 May 6 22:32 performance_schema drwxr-x--- 2 root root 20 May 6 22:32 test -rw-r----- 1 root root 21 May 6 22:32 xtrabackup_binlog_info -rw-r----- 1 root root 113 May 6 22:32 xtrabackup_checkpoints -rw-r----- 1 root root 468 May 6 22:32 xtrabackup_info -rw-r----- 1 root root 2560 May 6 22:32 xtrabackup_logfile
xtrabackup_binlog_info、 xtrabackup_checkpoints、 xtrabackup_info文件裏存放了備份時的信息ide
[root@CentOS7 backup]#cat xtrabackup_binlog_info mysql-bin.000011 245 [root@CentOS7 backup]#cat xtrabackup_checkpoints backup_type = full-backuped from_lsn = 0 to_lsn = 1638757 last_lsn = 1638757 compact = 0 recover_binlog_info = 0 [root@CentOS7 backup]#cat xtrabackup_info uuid = c65e06f6-700b-11e9-9ac5-000c2926023f name = tool_name = xtrabackup tool_command = --backup --target-dir=/data/backup/ tool_version = 2.4.13 ibbackup_version = 2.4.13 server_version = 5.5.60-MariaDB start_time = 2019-05-06 22:32:26 end_time = 2019-05-06 22:32:28 lock_time = 0 binlog_pos = filename 'mysql-bin.000011', position '245' innodb_from_lsn = 0 innodb_to_lsn = 1638757 partial = N incremental = N format = file compact = N compressed = N encrypted = N
[root@CentOS7 ~]# scp -r /data/backup/* 192.168.93.102:/data/backup
[root@CentOS7 ~]# xtrabackup --prepare --target-dir=/data/backup/
注意:數據庫目錄必須爲空,MySQL服務不能啓動 工具
[root@CentOS7 ~]# systemctl stop mariadb [root@CentOS7 ~]# ls /var/lib/mysql/ -l total 0 [root@CentOS7 ~]# [root@CentOS7 ~]# xtrabackup --copy-back --target-dir=/data/backup/
[root@CentOS7 ~]# chown -R mysql:mysql /var/lib/mysql
[root@CentOS7 ~]# systemctl start mariadb
[root@CentOS7 ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 2 Server version: 5.5.60-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | hellodb | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.01 sec)
[root@CentOS7 ~]# xtrabackup --backup --target-dir=/data/backup/base
MariaDB [hellodb]> insert teachers (name,age)value('xiaoai',33); MariaDB [hellodb]> show tables; +-------------------+ | Tables_in_hellodb | +-------------------+ | classes | | coc | | courses | | scores | | students | | teachers | | toc | +-------------------+ 7 rows in set (0.00 sec) MariaDB [hellodb]> drop table toc; Query OK, 0 rows affected (0.01 sec)
[root@CentOS7 ~]# xtrabackup --backup --target-dir=/data/backup/inc1 --incremental-basedir=/data/backup/base
MariaDB [hellodb]> update teachers set gender='F' where tid=5;`
[root@CentOS7 ~]#xtrabackup --backup --target-dir=/data/backup/inc2 --incremental-basedir=/data/backup/inc1
備份過程生成三個備份目錄 測試
[root@CentOS7 ~]# ll /data/backup/ total 0 drwxr-x--- 6 root root 217 May 6 23:11 base drwxr-x--- 6 root root 243 May 6 23:13 inc1 drwxr-x--- 6 root root 243 May 6 23:17 inc2 [root@CentOS7 ~]# scp -r /data/backup/* 192.168.93.102:/data/backup
在遠程主機上確認是否複製成功ui
[root@CentOS7 ~]# ll /data/backup/ total 0 drwxr-x---. 6 root root 217 May 6 15:19 base drwxr-x---. 6 root root 243 May 6 15:19 inc1 drwxr-x---. 6 root root 243 May 6 15:19 inc2
[root@CentOS7 ~]# xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base
[root@CentOS7 ~]# xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base --incremental-dir=/data/backup/inc1
若是是最後一次增量備份,還原時不須要加選項--apply-log-onlycode
[root@CentOS7 ~]# xtrabackup --prepare --target-dir=/data/backup/base --incremental-dir=/data/backup/inc2
注意數據庫目錄必須爲空,MySQL服務不能啓動orm
[root@CentOS7 ~]# xtrabackup --copy-back --target-dir=/data/backup/base
[root@CentOS7 ~]# chown -R mysql:mysql /var/lib/mysql
[root@CentOS7 ~]# systemctl start mariadb
MariaDB [hellodb]> select * from teachers; +-----+---------------+-----+--------+ | TID | Name | Age | Gender | +-----+---------------+-----+--------+ | 1 | Song Jiang | 45 | M | | 2 | Zhang Sanfeng | 94 | M | | 3 | Miejue Shitai | 77 | F | | 4 | Lin Chaoying | 93 | F | | 5 | xiaoai | 33 | F | +-----+---------------+-----+--------+ 5 rows in set (0.00 sec)