我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL Percona XtraBackup

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL Percona XtraBackup

Red Hat Enterprise Linux Server release 6.6 (Santiago)

 

[root@mysqlgc opt]# tar -xvf Percona-XtraBackup-2.4.6-r8ec05b7-el6-x86_64-bundle.tar

percona-xtrabackup-24-2.4.6-2.el6.x86_64.rpm

percona-xtrabackup-24-debuginfo-2.4.6-2.el6.x86_64.rpm

percona-xtrabackup-test-24-2.4.6-2.el6.x86_64.rpm

 

[root@mysqlgc opt]# yum localinstall percona-xtrabackup-*

Loaded plugins: product-id, refresh-packagekit, security, subscription-manager

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

Setting up Local Package Process

Examining percona-xtrabackup-test-24-2.4.6-2.el6.x86_64.rpm: percona-xtrabackup-test-24-2.4.6-2.el6.x86_64

Marking percona-xtrabackup-test-24-2.4.6-2.el6.x86_64.rpm to be installed

Resolving Dependencies

--> Running transaction check

---> Package percona-xtrabackup-test-24.x86_64 0:2.4.6-2.el6 will be installed

--> Processing Dependency: percona-xtrabackup-24 = 2.4.6-2.el6 for package: percona-xtrabackup-test-24-2.4.6-2.el6.x86_64

--> Finished Dependency Resolution

Error: Package: percona-xtrabackup-test-24-2.4.6-2.el6.x86_64 (/percona-xtrabackup-test-24-2.4.6-2.el6.x86_64)

           Requires: percona-xtrabackup-24 = 2.4.6-2.el6

 You could try using --skip-broken to work around the problem

 You could try running: rpm -Va --nofiles --nodigest

 

下載libev-4.15-1.el6.rf.x86_64.rpm安裝后再安裝xtrabackup OK

http://www.cnblogs.com/kerrycode/p/5308719.html

http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/

[root@mysqlgc opt]# rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm

[root@mysqlgc opt]# yum localinstall percona-xtrabackup-*

 

 

[root@mysqlgc bak]# innobackupex --socket=/data/mysql/mysql.sock -u root -p Oracle123$ /data/bak/ --no-timestamp

170317 13:39:10 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!".

170317 13:39:11  version_check Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_group=xtrabackup;mysql_socket=/data/mysql/mysql.sock' as 'root'  (using password: YES).

170317 13:39:11  version_check Connected to MySQL server

170317 13:39:11  version_check Executing a version check against the server...

170317 13:39:11  version_check Done.

170317 13:39:11 Connecting to MySQL server host: localhost, user: root, password: set, port: not set, socket: /data/mysql/mysql.sock

Using server version 5.7.16-log

innobackupex version 2.4.6 based on MySQL server 5.7.13 Linux (x86_64) (revision id: 8ec05b7)

xtrabackup: uses posix_fadvise().

xtrabackup: cd to /data/mysql

xtrabackup: open files limit requested 0, set to 1024

xtrabackup: using the following InnoDB configuration:

xtrabackup:   innodb_data_home_dir = .

xtrabackup:   innodb_data_file_path = ibdata1:12M:autoextend

xtrabackup:   innodb_log_group_home_dir = ./

xtrabackup:   innodb_log_files_in_group = 2

xtrabackup:   innodb_log_file_size = 50331648

InnoDB: Number of pools: 1

170317 13:39:11 >> log scanned up to (44924089203)

xtrabackup: Generating a list of tablespaces

InnoDB: Allocated tablespace ID 4 for mysql/help_topic, old maximum was 0

170317 13:39:11 [01] Copying ./ibdata1 to /data/bak/ibdata1

170317 13:39:12 >> log scanned up to (44924089203)

170317 13:39:13 >> log scanned up to (44924089203)

170317 13:39:14 >> log scanned up to (44924089203)

170317 13:39:14 [01]        ...done

170317 13:39:14 [01] Copying ./mysql/help_topic.ibd to /data/bak/mysql/help_topic.ibd

170317 13:39:14 [01]        ...done

170317 13:39:14 [01] Copying ./mysql/plugin.ibd to /data/bak/mysql/plugin.ibd

170317 13:39:14 [01]        ...done

170317 13:39:14 [01] Copying ./mysql/slave_relay_log_info.ibd to /data/bak/mysql/slave_relay_log_info.ibd

170317 13:39:14 [01]        ...done

170317 13:39:14 [01] Copying ./mysql/help_keyword.ibd to /data/bak/mysql/help_keyword.ibd

170317 13:39:14 [01]        ...done

170317 13:39:14 [01] Copying ./mysql/slave_worker_info.ibd to /data/bak/mysql/slave_worker_info.ibd

170317 13:39:14 [01]        ...done

170317 13:39:14 [01] Copying ./mysql/slave_master_info.ibd to /data/bak/mysql/slave_master_info.ibd

170317 13:39:14 [01]        ...done

170317 13:39:14 [01] Copying ./mysql/server_cost.ibd to /data/bak/mysql/server_cost.ibd

170317 13:39:14 [01]        ...done

170317 13:39:14 [01] Copying ./mysql/time_zone_transition.ibd to /data/bak/mysql/time_zone_transition.ibd

170317 13:39:14 [01]        ...done

170317 13:39:14 [01] Copying ./mysql/servers.ibd to /data/bak/mysql/servers.ibd

170317 13:39:14 [01]        ...done

170317 13:40:37 Finished backing up non-InnoDB tables and files

170317 13:40:37 [00] Writing xtrabackup_binlog_info

170317 13:40:37 [00]        ...done

170317 13:40:37 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...

xtrabackup: The latest check point (for incremental): '44924089194'

xtrabackup: Stopping log copying thread.

.170317 13:40:37 >> log scanned up to (44924089203)

170317 13:40:37 Executing UNLOCK TABLES

170317 13:40:37 All tables unlocked

170317 13:40:37 [00] Copying ib_buffer_pool to /data/bak/ib_buffer_pool

170317 13:40:37 [00]        ...done

170317 13:40:37 Backup created in directory '/data/bak/'

MySQL binlog position: filename 'mysql-bin.000016', position '452'

170317 13:40:37 [00] Writing backup-my.cnf

170317 13:40:37 [00]        ...done

170317 13:40:37 [00] Writing xtrabackup_info

170317 13:40:37 [00]        ...done

xtrabackup: Transaction log of lsn (44924089194) to (44924089203) was copied.

170317 13:40:38 completed OK!

 

增量備份

 

[root@vSWHVMSDBTE01 bak]# innobackupex --socket=/var/lib/mysql/mysql.sock -u root -p Oracle123$ /data/bak/ --no-timestamp

[root@vSWHVMSDBTE01 bak]# innobackupex --socket=/var/lib/mysql/mysql.sock -u root -p Oracle123$ --incremental /data/bak_incr/ --incremental-basedir=/data/bak --no-timestamp

 

增量恢復

[root@vSWHVMSDBTE01 lib]# service mysqld stop

[root@vSWHVMSDBTE01 lib]# mv /var/lib/mysql /var/lib/mysql_old

[root@vSWHVMSDBTE01 lib]# mkdir /var/lib/mysql

[root@vSWHVMSDBTE01 lib]# chown -R mysql.mysql mysql

恢復全備份Read only模式

[root@vSWHVMSDBTE01 bak]# innobackupex --apply-log --redo-only /data/bak

最次一次增量恢復不需要read only

[root@vSWHVMSDBTE01 bak_incr]# innobackupex --apply-log /data/bak --incremental-dir=/data/bak_incr

恢復全備份,回滾未提交事務

[root@vSWHVMSDBTE01 bak_incr]# innobackupex --apply-log /data/bak

[root@vSWHVMSDBTE01 mysql]# innobackupex --copy-back /data/bak

[root@vSWHVMSDBTE01 mysql]# chown -R mysql.mysql /var/lib/mysql

[root@vSWHVMSDBTE01 mysql]# service mysqld start

 

案例

Mysql 5.6 還原至Mysql 5.7

備份

0 3 * * * root /backup/mysql/mysql-full-backup.sh 1>>/backup/mysql/mysql_full_backup.log 2>>/backup/mysql/mysql_full_backup.bad

#!/bin/bash
#export MYSQL_HOME=/usr/local/Percona-Server-5.5.21-rel25.0-227.Linux.x86_64/
#export PATH=$MYSQL_HOME/bin:$PATH
mysql_backup_dir=/backup/mysql/
mysql_username="root"
mysql_password="root"
cd $mysql_backup_dir
timeStart=$(date '+%Y%m%d%H%M%S')
backupfile=full-$timeStart.tar.gz
logfile=full-$timeStart.log
innobackupex --defaults-file=/etc/my.cnf --stream=tar /tmp --user=$mysql_username --password=$mysql_password | gzip -> "$backupfile"

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL Percona XtraBackup

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

目录