practices percona xtrabackup best · • oracle certified professional, mysql 5.6 database...
TRANSCRIPT
![Page 1: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/1.jpg)
Percona Xtrabackup Best Practices
Marcelo AltmannSenior Support Engineer - Percona
![Page 2: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/2.jpg)
Agenda
![Page 3: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/3.jpg)
3
Agenda
• Intro
• The basics
• Compression
• Encryption
• Incremental Backup
• Performance
• Streaming
• Examples
![Page 4: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/4.jpg)
Who is speaking ?
![Page 5: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/5.jpg)
5
Who is Speaking ?
• Marcelo Altmann- Senior Support Engineer @ Percona
• MySQL DBA @ IE Domain Registry
- Certifications• Oracle Certified Professional, MySQL 5.6 Database Administrator
• Oracle Certified Professional, MySQL 5.6 Developer
• Oracle Certified Professional, MySQL 5 Database Administrator
• Oracle Certified Professional, MySQL 5 Developer
• Oracle Certified Associate, MySQL 5.0/5.1/5.5
- Oracle ACE Associate
- blog.marceloaltmann.com
- @altmannmarcelo
![Page 6: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/6.jpg)
Intro
![Page 7: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/7.jpg)
7
Intro
• Hot Backup utility for MySQL
• Support- InnoDB
- XtraDB (Percona XtraDB Cluster / Galera Cluster)
- MyISAM
![Page 8: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/8.jpg)
The basics
![Page 9: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/9.jpg)
9
The basics
• Take a full backupxtrabackup --backup --target-dir=/data/backups/
• Prepare a backupxtrabackup --prepare --target-dir=/data/backups/
• Copy / Move backxtrabackup --copy-back --target-dir=/data/backups/xtrabackup --move-back --target-dir=/data/backups/
![Page 10: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/10.jpg)
Compressing backup
![Page 11: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/11.jpg)
11
Compressing backup
• Uses qpress• Will generate .qp files• Take a compressed backupxtrabackup --backup --compress --target-dir=/data/backups/
• Decompress a backupxtrabackup --decompress --target-dir=/data/backups/
• Remove .qp files (2.3.7+ / 2.4.6+)xtrabackup --decompress --remove-original \ --target-dir=/data/backups/
![Page 12: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/12.jpg)
Encrypting backup
![Page 13: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/13.jpg)
13
Encrypting backup
• Uses libgcrypt• Will generate .xbcrypt files• Can be used with --compress- Compress -> Encrypt | Decrypt -> Decompress
• --encrypt=ALGORITHM- Algorithms: AES128, AES192 and AES256
• Generate a keyopenssl rand -base64 24
• --encrypt-key=ENCRYPTION_KEY• --encrypt-key-file=KEYFILE
![Page 14: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/14.jpg)
14
Encrypting backup
• --encrypt-key=ENCRYPTION_KEY
[root@localhost ~]# ps -ef | grep xtrabackup
root 2653 2541 64 01:52 pts/1 00:00:23 xtrabackup --backup --target-dir=/backups/1 --encrypt=AES256 --encrypt-key=GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs
![Page 15: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/15.jpg)
15
Encrypting backup
• --encrypt-key=ENCRYPTION_KEY
[root@localhost ~]# history | grep xtrabackup
40 xtrabackup --backup --target-dir=/backups/1 --encrypt=AES256 --encrypt-key="GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs"
![Page 16: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/16.jpg)
16
Encrypting backup
• --encrypt-key-file=KEYFILE
echo -n $(openssl rand -base64 24) > /root/.my_backup_key
chmod 400 /root/.my_backup_key
• Take encrypted backupsxtrabackup --backup --target-dir=/backups/1 --encrypt=AES256 --encrypt-key-file=/root/.my_backup_key
![Page 17: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/17.jpg)
17
Encrypting backup
• Decrypt backupsxtrabackup --target-dir=/backups/1 --decrypt=AES256 --encrypt-key-file=/root/.my_backup_key --remove-original
![Page 18: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/18.jpg)
Incremental backups
![Page 19: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/19.jpg)
19
Incremental Backups
• Backup only changes since last backup
• --incremental-lsn=LSN
- end of backup output - xtrabackup: The latest check point (for incremental): ‘XXXXXXX'
- xtrabackup_checkpoints (to_lsn)
• --incremental-basedir
• Copy only the delta changes based on LSN
- Check LSN of all InnoDB pages
- Percona Server - Change Page Tracker
• Add innodb_track_changed_pages to my.cnf
![Page 20: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/20.jpg)
20
Incremental Backups
• Monday Full Backup
xtrabackup --backup --target-dir=/backup/Mon-full
• Tuesday Incremental
xtrabackup --backup --target-dir=/backup/Tue-inc \
--incremental-basedir=/backup/Mon-full
• Wednesday Incremental
xtrabackup --backup --target-dir=/backup/Wed-inc \
--incremental-basedir=/backup/Tue-inc
![Page 21: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/21.jpg)
21
Incremental Backups
• --apply-log-only to skiip rollback of transactions
xtrabackup --prepare --apply-log-only \
--target-dir=/backup/Mon-full
xtrabackup --prepare --apply-log-only \
--target-dir=/backup/Mon-full --incremental-dir=/backup/Tue-inc
xtrabackup --prepare --target-dir=/backup/Mon-full \
--incremental-dir=/backup/Wed-incr
![Page 22: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/22.jpg)
Performance
![Page 23: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/23.jpg)
23
Performance
• Copy multiple files in parallel--parallel=N_THREADS
• Compress multiple files in parallel (requires --parallel)--compress-threads=N_THREADS
• Decompress multiple files in parallel--parallel=N_THREADS
![Page 24: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/24.jpg)
24
Performance
• Encrypt multiple files in parallel (requires --parallel)--encrypt-threads=N_THREADS
• Decrypt multiple files in parallel--parallel=N_THREADS
• Increase memory used on --prepare--use-memory=SIZE
![Page 25: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/25.jpg)
Streaming
![Page 26: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/26.jpg)
26
Streaming
• --stream
• tar
• xbstream- allows parallel stream- allows compression
![Page 27: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/27.jpg)
Examples - Building a Slave
![Page 28: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/28.jpg)
28
Examples - Building a Slave
Replica> nc -l 9999 | xbstream -x -C /var/lib/mysql/;
Master> xtrabackup --parallel=6 --compress \ --compress-threads=4 --stream=xbstream \--target-dir=./ | nc replica.ip 9999
![Page 29: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/29.jpg)
29
Examples - Building a Slave
Replica> xtrabackup --decompress --remove-original \ --parallel=4 --target-dir=/var/lib/mysql/
Replica> xtrabackup --prepare --use-memory=4G --target-dir=/var/lib/mysql
Replica> chown --recursive mysql.mysql /var/lib/mysql
Replica> service mysql start
![Page 30: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/30.jpg)
30
Examples - Building a Slave
Replica> cat /var/lib/mysql/xtrabackup_binlog_infomysql-bin.000005 13446 00056888-1111-1111-1111-111111111111:1-838
mysql> CHANGE MASTER TO [...] MASTER_LOG_FILE=’mysql-bin.000005’, MASTER_LOG_POS=13446
mysql> SET GLOBAL gtid_purged="00056888-1111-1111-1111-111111111111:1-838";
mysql> CHANGE MASTER TO [...] MASTER_AUTO_POSITION = 1;
![Page 31: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/31.jpg)
Examples - Multiple Stream
![Page 32: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/32.jpg)
32
Examples - Multiple Stream
node3> nc -l 9999 | xbstream -x -C /var/lib/mysql/;
node2> mkfifo xbackup.fifo;
node2> nc NODE3_IP 9999 < xbackup.fifo &
node2> nc -l 9999 | tee xbackup.fifo | \
xbstream -x -C /var/lib/mysql/
node1> xtrabackup --backup --compress \ --stream=xbstream --target-dir=./| nc NODE2_IP 9999
![Page 33: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/33.jpg)
33
Examples - Multiple Stream
node[2-3]> xtrabackup --decompress --remove-original --parallel=4 --target-dir=/var/lib/mysql/
node[2-3]> xtrabackup --prepare --use-memory=4G --target-dir=/var/lib/mysql
xtrabackup: Recovered WSREP position: 31a3e0f4-98b5-11e7-bead-37e53ca238cf:567662
![Page 34: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/34.jpg)
34
Thank You Sponsors!
![Page 35: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/35.jpg)
35
SAVE THE DATE!
CALL FOR PAPERS OPENING SOON!www.perconalive.com
April 23-25, 2018Santa Clara Convention Center
![Page 36: Practices Percona Xtrabackup Best · • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified](https://reader034.vdocument.in/reader034/viewer/2022050510/5f9a8cbf6c28c63d5f0c7f26/html5/thumbnails/36.jpg)
Questions ?
Marcelo Altmann@altmannmarcelo