SlideShare a Scribd company logo
1 of 42
Download to read offline
Online Backups with
Percona Live Amsterdam - October 2016
1 / 42
Kenny Gryp
@gryp
MySQL Practice Manager
2 / 42
Agenda
What is Percona XtraBackup
Backup Process
Restore Process
Incremental
Compression, Streaming, Encryption
Cloud Backups - α
Percona Server Specific Features
3 / 42
4 / 42
What is
What is
Backups for:
5 / 42
What is
Backups for:
6 / 42
Online (Non Blocking) InnoDB Backups
Physical Datafiles Copied
What is
https://www.percona.com/software/mysql-database/percona-xtrabackup
7 / 42
Online (Non Blocking) InnoDB Backups
Physical Datafiles Copied
Less Impact on Production
Faster Restore Time Than Logical Backups
What is
https://www.percona.com/software/mysql-database/percona-xtrabackup
8 / 42
Online (Non Blocking) InnoDB Backups
Physical Datafiles Copied
Less Impact on Production
Faster Restore Time Than Logical Backups
What is
https://www.percona.com/software/mysql-database/percona-xtrabackup
Open Source
Blocking Support MyISAM...
Incremental/Delta
Compression/Encryption
Cloud Backup
9 / 42
10 / 42
(Data) Backup Process
(Data) Backup Process - 1. Backup
Backup .ibdfiles while in use
/var/lib/mysql/ibdata1
/var/lib/mysql/imdb/aka_name.ibd
/var/lib/mysql/imdb/aka_title.ibd
...
11 / 42
(Data) Backup Process - 1. Backup
Backup .ibdfiles while in use
/var/lib/mysql/ibdata1
/var/lib/mysql/imdb/aka_name.ibd
/var/lib/mysql/imdb/aka_title.ibd
...
track changes through trx logs
/var/lib/mysql/ib_log le0
/var/lib/mysql/ib_log le1
12 / 42
(Data) Backup Process - 2. Prepare
Apply changes from trx logs onto backupped .ibdfiles.
13 / 42
(Data) Backup Process - 1. Backup
#xtrabackup--backup--target-dir=/data/backups/
16100122:16:49ConnectingtoMySQLserverhost:localhost,user:root,password:not
Usingserverversion5.7.14-8-log
xtrabackupversion2.4.4basedonMySQLserver5.7.13Linux(x86_64)(revisionid
xtrabackup:usesposix_fadvise().
...
InnoDB:Numberofpools:1
16100122:16:49>>logscannedupto(5147619414)
xtrabackup:Generatingalistoftablespaces
InnoDB:AllocatedtablespaceID2formysql/plugin,oldmaximumwas0
16100122:16:50[01]Copying./ibdata1to/data/backups/ibdata1
16100122:16:50[01]Copying./mysql/plugin.ibdto/data/backups/mysql/plugin.ibd
16100122:16:50[01]Copying./mysql/servers.ibdto/data/backups/mysql/servers.ibd
16100122:16:50[01]Copying./mysql/help_topic.ibdto/data/backups/mysql/help_topic.i
...
16100122:17:13[01]Copying./imdb/users.ibdto/data/backups/imdb/users.ibd
16100122:17:13>>logscannedupto(5147619414)
16100122:17:14ExecutingFLUSHNO_WRITE_TO_BINLOGTABLES...
16100122:17:14ExecutingFLUSHTABLESWITHREADLOCK...
14 / 42
(Data) Backup Process - 1. Backup (2)
16100122:17:14Startingtobackupnon-InnoDBtablesand les
16100122:17:14[01]Copying./mysql/db.optto/data/backups/mysql/db.opt
16100122:17:14[01]Copying./mysql/db.frmto/data/backups/mysql/db.frm
16100122:17:14[01]Copying./mysql/db.MYIto/data/backups/mysql/db.MYI
16100122:17:14[01]Copying./mysql/db.MYDto/data/backups/mysql/db.MYD
16100122:17:17[01]Copying./imdb/users.frmto/data/backups/imdb/users.frm
16100122:17:17Finishedbackingupnon-InnoDBtablesand les
16100122:17:17ExecutingFLUSHNO_WRITE_TO_BINLOGENGINELOGS...
xtrabackup:Thelatestcheckpoint(forincremental):'5147619454'
xtrabackup:Stoppinglogcopyingthread.
.16100122:17:17>>logscannedupto(5147619463)
16100122:17:17ExecutingUNLOCKTABLES
16100122:17:17Alltablesunlocked
16100122:17:17[00]Copyingib_buffer_poolto/data/backups/ib_buffer_pool
16100122:17:17[00] ...done
16100122:17:17Backupcreatedindirectory'/data/backups/'
16100122:17:17[00]Writingbackup-my.cnf
16100122:17:17[00] ...done
16100122:17:17[00]Writingxtrabackup_info
16100122:17:17[00] ...done
xtrabackup:Transactionlogoflsn(5147619405)to(5147619463)wascopied.
16100122:17:18completedOK!
15 / 42
(Data) Backup Process - 2. Prepare (1)
#xtrabackup--prepare--target-dir=/data/backups/
xtrabackupversion2.4.4basedonMySQLserver5.7.13Linux(x86_64)(revisionid:df58
xtrabackup:cdto/data/backups
xtrabackup:Thistargetseemstobenotpreparedyet.
...
xtrabackup:StartingInnoDBinstanceforrecovery.
xtrabackup:Using104857600bytesforbufferpool(setby--use-memoryparameter)
...
InnoDB:Logscanprogressedpastthecheckpointlsn5147619405
InnoDB:Doingrecovery:scanneduptologsequencenumber5147619463(0%)
InnoDB:Doingrecovery:scanneduptologsequencenumber5147619463(0%)
InnoDB:Databasewasnotshutdownnormally!
InnoDB:Startingcrashrecovery.
InnoDB:xtrabackup:LastMySQLbinlog leposition333,
lenameperconaserver-bin.000007
...
InnoDB:96redorollbacksegment(s)found.1redorollbacksegment(s)areactive.
InnoDB:32non-redorollbacksegment(s)areactive.
InnoDB:Waitingforpurgetostart
InnoDB:5.7.13started;logsequencenumber5147619463
InnoDB:xtrabackup:LastMySQLbinlog leposition333, lenameperconaserver-bin.00
xtrabackup:startingshutdownwithinnodb_fast_shutdown=1
InnoDB:FTSoptimizethreadexiting.
InnoDB:Startingshutdown...
InnoDB:Shutdowncompleted;logsequencenumber5147619482
16 / 42
(Data) Backup Process - 2. Prepare (2)
...
InnoDB:Settinglog le./ib_log le101sizeto64MB
InnoDB:Settinglog le./ib_log le1sizeto64MB
InnoDB:Renaminglog le./ib_log le101to./ib_log le0
InnoDB:Newlog lescreated,LSN=5147619482
InnoDB:Highestsupported leformatisBarracuda.
InnoDB:Logscanprogressedpastthecheckpointlsn5147619852
InnoDB:Doingrecovery:scanneduptologsequencenumber5147619861(0%)
InnoDB:Doingrecovery:scanneduptologsequencenumber5147619861(0%)
InnoDB:Databasewasnotshutdownnormally!
InnoDB:Startingcrashrecovery.
InnoDB:xtrabackup:LastMySQLbinlog leposition333, lenameperconaserver-bin
...
InnoDB:96redorollbacksegment(s)found.1redorollbacksegment(s)areactive.
InnoDB:32non-redorollbacksegment(s)areactive.
InnoDB:Waitingforpurgetostart
InnoDB:5.7.13started;logsequencenumber5147619861
xtrabackup:startingshutdownwithinnodb_fast_shutdown=1
InnoDB:FTSoptimizethreadexiting.
InnoDB:Startingshutdown...
InnoDB:Shutdowncompleted;logsequencenumber5147619880
16100122:30:05completedOK!
17 / 42
18 / 42
Restore Process
Restore Process
After preparation, the backup directory ==data directory
19 / 42
Restore Process
After preparation, the backup directory ==data directory
#cp-R/data/backup//var/lib/mysql
#chown-Rmysql:mysql/var/lib/mysql
#systemctlstartmysqld
20 / 42
21 / 42
Incremental Backups
Incremental Backups
22 / 42
Incremental Backups
Only Copy InnoDB Pages That Changed
(still copies all non InnoDB Tables)
23 / 42
Pro:
Smaller backup size
Faster To Backup
Incremental & Delta
Incremental Backups
Only Copy InnoDB Pages That Changed
(still copies all non InnoDB Tables)
24 / 42
Pro:
Smaller backup size
Faster To Backup
Incremental & Delta
Con:
Slower to restore than full
On , all data is read
Incremental Backups
Only Copy InnoDB Pages That Changed
(still copies all non InnoDB Tables)
25 / 42
Incremental Backups - Process
26 / 42
Incremental Backups - Process
Take Incremental:
#xtrabackup--backup
--target-dir=/data/backups/inc/tuesday/
--incremental-basedir=/data/backups/full/sunday/
27 / 42
Incremental Backups - Process
Take Incremental:
#xtrabackup--backup
--target-dir=/data/backups/inc/tuesday/
--incremental-basedir=/data/backups/full/sunday/
Prepare Full
#xtrabackup--prepare
--apply-log-only
--target-dir=/data/backups/mysql/
28 / 42
Incremental Backups - Process
Take Incremental:
#xtrabackup--backup
--target-dir=/data/backups/inc/tuesday/
--incremental-basedir=/data/backups/full/sunday/
Prepare Full
#xtrabackup--prepare
--apply-log-only
--target-dir=/data/backups/mysql/
Apply Incremental
#xtrabackup--prepare--apply-log-only
--target-dir=/data/backups/full/sunday
--incremental-dir=/data/backups/inc/tuesday/
29 / 42
30 / 42
Compression, Streaming, Encryption
Compression
Compress using qpress
#xtrabackup--backup--target-dir=/data/backups/
--compress--compress-threads=2
Decompress (before prepare)
#xtrabackup--decompress--target-dir=/data/backups/
31 / 42
Streaming
#xtrabackup--backup
--compress
--stream=xbstream> le.xb
32 / 42
Streaming
#xtrabackup--backup
--compress
--stream=xbstream> le.xb
Over Network
#xtrabackup--backup
--compress
--stream=xbstream./
|sshuser@otherhost"xbstream-x"
33 / 42
Encryption
# xtrabackup--backup--target-dir=/data/backups
--encrypt=AES256
--encrypt-key="GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs"
--encrypt-threads=2
34 / 42
35 / 42
Cloud Backups - α
Cloud Backups - α
Stream to Cloud directly
Swift
α
36 / 42
Cloud Backups - α
Put
#xtrabackup--backup--stream=xbstream--target-dir=/data/backups|
xbcloudput--storage=Swift
--swift-container=test--swift-user=test:tester
--swift-auth-url=http://192.168.8.80:8080/
--swift-key=testing
full_backup
37 / 42
Cloud Backups - α
Put
#xtrabackup--backup--stream=xbstream--target-dir=/data/backups|
xbcloudput--storage=Swift
--swift-container=test--swift-user=test:tester
--swift-auth-url=http://192.168.8.80:8080/
--swift-key=testing
full_backup
Get
#xbcloudget--storage=Swift
--swift-container=test--swift-user=test:tester
--swift-auth-url=http://192.168.8.80:8080/
--swift-key=testing
full_backup|xbstream-xv-C/tmp/downloaded_full
#xtrabackup--prepare--target-dir=/tmp/downloaded_full
#xtrabackup--copy-back--target-dir=/tmp/downloaded_full
38 / 42
39 / 42
Features
Backup Locks
Implements LOCKTABLESFORBACKUPto
Avoid FLUSHTABLESWITHREADLOCK, used for:
Non-InnoDB Tables (mysqlschema... )
Binary Log Position
Blocks DML to non-InnoDB
Blocks DDL
Allows Reads/Writes to InnoDB tables during
40 / 42
Change Page Tracking - Incremental Backups
Incremental backup does no longer require reading all pages to determine if a page
changed since the last full backup
How:
Percona Server tracks pages changed in InnoDB Tablespaces
Incremental backup reads changed page file, only reads changed pages
Why:
Less load on database server (a lot less Disk IO)
41 / 42
Thank you !
Questions ?
42 / 42

More Related Content

What's hot

MySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterKenny Gryp
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLOlivier DASINI
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1NeoClova
 
MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼NeoClova
 
Galera cluster for high availability
Galera cluster for high availability Galera cluster for high availability
Galera cluster for high availability Mydbops
 
[AIX] RDX Device Backup Guide
[AIX] RDX Device Backup Guide[AIX] RDX Device Backup Guide
[AIX] RDX Device Backup GuideCheolHee Han
 
Deploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia NetworksDeploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia NetworksMariaDB plc
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기NHN FORWARD
 
The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialJean-François Gagné
 
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...Altinity Ltd
 
Linux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringLinux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringGeorg Schönberger
 
MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)Mydbops
 
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesMySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesKenny Gryp
 
MySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best PracticesMySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best PracticesFrederic Descamps
 
1.mysql disk io 모니터링 및 분석사례
1.mysql disk io 모니터링 및 분석사례1.mysql disk io 모니터링 및 분석사례
1.mysql disk io 모니터링 및 분석사례I Goo Lee
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기I Goo Lee
 
Optimizing MariaDB for maximum performance
Optimizing MariaDB for maximum performanceOptimizing MariaDB for maximum performance
Optimizing MariaDB for maximum performanceMariaDB plc
 
Load Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - SlidesLoad Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - SlidesSeveralnines
 

What's hot (20)

MySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
 
MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼
 
Galera cluster for high availability
Galera cluster for high availability Galera cluster for high availability
Galera cluster for high availability
 
[AIX] RDX Device Backup Guide
[AIX] RDX Device Backup Guide[AIX] RDX Device Backup Guide
[AIX] RDX Device Backup Guide
 
Deploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia NetworksDeploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia Networks
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
 
The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication Tutorial
 
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
 
Linux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringLinux Performance Profiling and Monitoring
Linux Performance Profiling and Monitoring
 
MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)
 
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesMySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
 
MySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best PracticesMySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best Practices
 
1.mysql disk io 모니터링 및 분석사례
1.mysql disk io 모니터링 및 분석사례1.mysql disk io 모니터링 및 분석사례
1.mysql disk io 모니터링 및 분석사례
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기
 
Query logging with proxysql
Query logging with proxysqlQuery logging with proxysql
Query logging with proxysql
 
Optimizing MariaDB for maximum performance
Optimizing MariaDB for maximum performanceOptimizing MariaDB for maximum performance
Optimizing MariaDB for maximum performance
 
Load Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - SlidesLoad Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - Slides
 
Introduction to Galera Cluster
Introduction to Galera ClusterIntroduction to Galera Cluster
Introduction to Galera Cluster
 

Viewers also liked

Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability MattersMatt Lord
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsLenz Grimmer
 
MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)frogd
 
MySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsMySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsRonald Bradford
 
Why MySQL Replication Fails, and How to Get it Back
Why MySQL Replication Fails, and How to Get it BackWhy MySQL Replication Fails, and How to Get it Back
Why MySQL Replication Fails, and How to Get it BackSveta Smirnova
 
A New Architecture for Group Replication in Data Grid
A New Architecture for Group Replication in Data GridA New Architecture for Group Replication in Data Grid
A New Architecture for Group Replication in Data GridEditor IJCATR
 
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?Sveta Smirnova
 
Java MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationJava MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationKenny Gryp
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationFrederic Descamps
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteKenny Gryp
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхSveta Smirnova
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationManish Kumar
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationKenny Gryp
 
Everything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group ReplicationEverything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group ReplicationNuno Carvalho
 
MySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialMySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialKenny Gryp
 
The nightmare of locking, blocking and isolation levels!
The nightmare of locking, blocking and isolation levels!The nightmare of locking, blocking and isolation levels!
The nightmare of locking, blocking and isolation levels!Boris Hristov
 
Inno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structureInno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structurezhaolinjnu
 

Viewers also liked (20)

Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability Matters
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
Requirements the Last Bottleneck
Requirements the Last BottleneckRequirements the Last Bottleneck
Requirements the Last Bottleneck
 
MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)
 
Load Data Fast!
Load Data Fast!Load Data Fast!
Load Data Fast!
 
MySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsMySQL Backup and Recovery Essentials
MySQL Backup and Recovery Essentials
 
Redis介绍
Redis介绍Redis介绍
Redis介绍
 
Why MySQL Replication Fails, and How to Get it Back
Why MySQL Replication Fails, and How to Get it BackWhy MySQL Replication Fails, and How to Get it Back
Why MySQL Replication Fails, and How to Get it Back
 
A New Architecture for Group Replication in Data Grid
A New Architecture for Group Replication in Data GridA New Architecture for Group Replication in Data Grid
A New Architecture for Group Replication in Data Grid
 
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
 
Java MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationJava MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & Optimization
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suite
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
 
Everything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group ReplicationEverything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group Replication
 
MySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialMySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn Tutorial
 
The nightmare of locking, blocking and isolation levels!
The nightmare of locking, blocking and isolation levels!The nightmare of locking, blocking and isolation levels!
The nightmare of locking, blocking and isolation levels!
 
Inno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structureInno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structure
 

Similar to Online MySQL Backups with Percona XtraBackup

Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...
Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...
Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...Zarafa
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsMark Leith
 
Lock, Stock and Backup: Data Guaranteed
Lock, Stock and Backup: Data GuaranteedLock, Stock and Backup: Data Guaranteed
Lock, Stock and Backup: Data GuaranteedJervin Real
 
Uc2010 xtra backup-hot-backups-and-more
Uc2010 xtra backup-hot-backups-and-moreUc2010 xtra backup-hot-backups-and-more
Uc2010 xtra backup-hot-backups-and-moreArvids Godjuks
 
6048618 cloning-procedure-of-r12-single-tier
6048618 cloning-procedure-of-r12-single-tier6048618 cloning-procedure-of-r12-single-tier
6048618 cloning-procedure-of-r12-single-tierbalaji29
 
OSDC 2012 | Taking hot backups with XtraBackup by Alexey Kopytov
OSDC 2012 | Taking hot backups with XtraBackup by Alexey KopytovOSDC 2012 | Taking hot backups with XtraBackup by Alexey Kopytov
OSDC 2012 | Taking hot backups with XtraBackup by Alexey KopytovNETWAYS
 
2007-05-23 Cecchet_PGCon2007.ppt
2007-05-23 Cecchet_PGCon2007.ppt2007-05-23 Cecchet_PGCon2007.ppt
2007-05-23 Cecchet_PGCon2007.pptnadirpervez2
 
Arcserve Portfolio Technical Overview
Arcserve Portfolio Technical OverviewArcserve Portfolio Technical Overview
Arcserve Portfolio Technical OverviewGina Tragos
 
A Step-By-Step Disaster Recovery Blueprint & Best Practices for Your NetBacku...
A Step-By-Step Disaster Recovery Blueprint & Best Practices for Your NetBacku...A Step-By-Step Disaster Recovery Blueprint & Best Practices for Your NetBacku...
A Step-By-Step Disaster Recovery Blueprint & Best Practices for Your NetBacku...Symantec
 
CA ARCserve Solution Overview
CA ARCserve Solution OverviewCA ARCserve Solution Overview
CA ARCserve Solution OverviewMotty Ben Atia
 
Introduction to MariaDB
Introduction to MariaDBIntroduction to MariaDB
Introduction to MariaDBJongJin Lee
 
Business Continuty Solution
Business Continuty SolutionBusiness Continuty Solution
Business Continuty SolutionBarada Mohanty
 
Be a better developer with Docker (revision 3)
Be a better developer with Docker (revision 3)Be a better developer with Docker (revision 3)
Be a better developer with Docker (revision 3)Nicola Paolucci
 
Source Code Management systems
Source Code Management systemsSource Code Management systems
Source Code Management systemsxSawyer
 
OOW15 - Online Patching with Oracle E-Business Suite 12.2
OOW15 - Online Patching with Oracle E-Business Suite 12.2OOW15 - Online Patching with Oracle E-Business Suite 12.2
OOW15 - Online Patching with Oracle E-Business Suite 12.2vasuballa
 
Corporate Laptop Backup and Recovery
Corporate Laptop Backup and RecoveryCorporate Laptop Backup and Recovery
Corporate Laptop Backup and RecoveryJaspreet Singh
 
Webinar NETGEAR - Storage ReadyNAS, le novità
Webinar NETGEAR - Storage ReadyNAS, le novitàWebinar NETGEAR - Storage ReadyNAS, le novità
Webinar NETGEAR - Storage ReadyNAS, le novitàNetgear Italia
 
Db As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
Db As Behaving Badly... Worst Practices For Database Administrators Rod ColledgeDb As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
Db As Behaving Badly... Worst Practices For Database Administrators Rod Colledgesqlserver.co.il
 
Multi Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureMulti Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureKenny Gryp
 

Similar to Online MySQL Backups with Percona XtraBackup (20)

ZDLRA in Action
ZDLRA in ActionZDLRA in Action
ZDLRA in Action
 
Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...
Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...
Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
Lock, Stock and Backup: Data Guaranteed
Lock, Stock and Backup: Data GuaranteedLock, Stock and Backup: Data Guaranteed
Lock, Stock and Backup: Data Guaranteed
 
Uc2010 xtra backup-hot-backups-and-more
Uc2010 xtra backup-hot-backups-and-moreUc2010 xtra backup-hot-backups-and-more
Uc2010 xtra backup-hot-backups-and-more
 
6048618 cloning-procedure-of-r12-single-tier
6048618 cloning-procedure-of-r12-single-tier6048618 cloning-procedure-of-r12-single-tier
6048618 cloning-procedure-of-r12-single-tier
 
OSDC 2012 | Taking hot backups with XtraBackup by Alexey Kopytov
OSDC 2012 | Taking hot backups with XtraBackup by Alexey KopytovOSDC 2012 | Taking hot backups with XtraBackup by Alexey Kopytov
OSDC 2012 | Taking hot backups with XtraBackup by Alexey Kopytov
 
2007-05-23 Cecchet_PGCon2007.ppt
2007-05-23 Cecchet_PGCon2007.ppt2007-05-23 Cecchet_PGCon2007.ppt
2007-05-23 Cecchet_PGCon2007.ppt
 
Arcserve Portfolio Technical Overview
Arcserve Portfolio Technical OverviewArcserve Portfolio Technical Overview
Arcserve Portfolio Technical Overview
 
A Step-By-Step Disaster Recovery Blueprint & Best Practices for Your NetBacku...
A Step-By-Step Disaster Recovery Blueprint & Best Practices for Your NetBacku...A Step-By-Step Disaster Recovery Blueprint & Best Practices for Your NetBacku...
A Step-By-Step Disaster Recovery Blueprint & Best Practices for Your NetBacku...
 
CA ARCserve Solution Overview
CA ARCserve Solution OverviewCA ARCserve Solution Overview
CA ARCserve Solution Overview
 
Introduction to MariaDB
Introduction to MariaDBIntroduction to MariaDB
Introduction to MariaDB
 
Business Continuty Solution
Business Continuty SolutionBusiness Continuty Solution
Business Continuty Solution
 
Be a better developer with Docker (revision 3)
Be a better developer with Docker (revision 3)Be a better developer with Docker (revision 3)
Be a better developer with Docker (revision 3)
 
Source Code Management systems
Source Code Management systemsSource Code Management systems
Source Code Management systems
 
OOW15 - Online Patching with Oracle E-Business Suite 12.2
OOW15 - Online Patching with Oracle E-Business Suite 12.2OOW15 - Online Patching with Oracle E-Business Suite 12.2
OOW15 - Online Patching with Oracle E-Business Suite 12.2
 
Corporate Laptop Backup and Recovery
Corporate Laptop Backup and RecoveryCorporate Laptop Backup and Recovery
Corporate Laptop Backup and Recovery
 
Webinar NETGEAR - Storage ReadyNAS, le novità
Webinar NETGEAR - Storage ReadyNAS, le novitàWebinar NETGEAR - Storage ReadyNAS, le novità
Webinar NETGEAR - Storage ReadyNAS, le novità
 
Db As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
Db As Behaving Badly... Worst Practices For Database Administrators Rod ColledgeDb As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
Db As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
 
Multi Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureMulti Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ Verisure
 

More from Kenny Gryp

MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08Kenny Gryp
 
MySQL Operator for Kubernetes
MySQL Operator for KubernetesMySQL Operator for Kubernetes
MySQL Operator for KubernetesKenny Gryp
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10Kenny Gryp
 
MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialKenny Gryp
 
MySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRVMySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRVKenny Gryp
 
MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)Kenny Gryp
 
Reducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLReducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLKenny Gryp
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationKenny Gryp
 
Percona XtraDB Cluster
Percona XtraDB ClusterPercona XtraDB Cluster
Percona XtraDB ClusterKenny Gryp
 

More from Kenny Gryp (9)

MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08
 
MySQL Operator for Kubernetes
MySQL Operator for KubernetesMySQL Operator for Kubernetes
MySQL Operator for Kubernetes
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10
 
MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - Tutorial
 
MySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRVMySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRV
 
MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)
 
Reducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLReducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQL
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
Percona XtraDB Cluster
Percona XtraDB ClusterPercona XtraDB Cluster
Percona XtraDB Cluster
 

Recently uploaded

MEASURES OF DISPERSION I BSc Botany .ppt
MEASURES OF DISPERSION I BSc Botany .pptMEASURES OF DISPERSION I BSc Botany .ppt
MEASURES OF DISPERSION I BSc Botany .pptaigil2
 
Strategic CX: A Deep Dive into Voice of the Customer Insights for Clarity
Strategic CX: A Deep Dive into Voice of the Customer Insights for ClarityStrategic CX: A Deep Dive into Voice of the Customer Insights for Clarity
Strategic CX: A Deep Dive into Voice of the Customer Insights for ClarityAggregage
 
Master's Thesis - Data Science - Presentation
Master's Thesis - Data Science - PresentationMaster's Thesis - Data Science - Presentation
Master's Thesis - Data Science - PresentationGiorgio Carbone
 
SFBA Splunk Usergroup meeting March 13, 2024
SFBA Splunk Usergroup meeting March 13, 2024SFBA Splunk Usergroup meeting March 13, 2024
SFBA Splunk Usergroup meeting March 13, 2024Becky Burwell
 
Virtuosoft SmartSync Product Introduction
Virtuosoft SmartSync Product IntroductionVirtuosoft SmartSync Product Introduction
Virtuosoft SmartSync Product Introductionsanjaymuralee1
 
Mapping the pubmed data under different suptopics using NLP.pptx
Mapping the pubmed data under different suptopics using NLP.pptxMapping the pubmed data under different suptopics using NLP.pptx
Mapping the pubmed data under different suptopics using NLP.pptxVenkatasubramani13
 
ChistaDATA Real-Time DATA Analytics Infrastructure
ChistaDATA Real-Time DATA Analytics InfrastructureChistaDATA Real-Time DATA Analytics Infrastructure
ChistaDATA Real-Time DATA Analytics Infrastructuresonikadigital1
 
YourView Panel Book.pptx YourView Panel Book.
YourView Panel Book.pptx YourView Panel Book.YourView Panel Book.pptx YourView Panel Book.
YourView Panel Book.pptx YourView Panel Book.JasonViviers2
 
Cash Is Still King: ATM market research '2023
Cash Is Still King: ATM market research '2023Cash Is Still King: ATM market research '2023
Cash Is Still King: ATM market research '2023Vladislav Solodkiy
 
The Universal GTM - how we design GTM and dataLayer
The Universal GTM - how we design GTM and dataLayerThe Universal GTM - how we design GTM and dataLayer
The Universal GTM - how we design GTM and dataLayerPavel Šabatka
 
CI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionCI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionajayrajaganeshkayala
 
Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024
Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024
Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024Guido X Jansen
 
AI for Sustainable Development Goals (SDGs)
AI for Sustainable Development Goals (SDGs)AI for Sustainable Development Goals (SDGs)
AI for Sustainable Development Goals (SDGs)Data & Analytics Magazin
 
5 Ds to Define Data Archiving Best Practices
5 Ds to Define Data Archiving Best Practices5 Ds to Define Data Archiving Best Practices
5 Ds to Define Data Archiving Best PracticesDataArchiva
 
TINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptx
TINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptxTINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptx
TINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptxDwiAyuSitiHartinah
 
How is Real-Time Analytics Different from Traditional OLAP?
How is Real-Time Analytics Different from Traditional OLAP?How is Real-Time Analytics Different from Traditional OLAP?
How is Real-Time Analytics Different from Traditional OLAP?sonikadigital1
 
Elements of language learning - an analysis of how different elements of lang...
Elements of language learning - an analysis of how different elements of lang...Elements of language learning - an analysis of how different elements of lang...
Elements of language learning - an analysis of how different elements of lang...PrithaVashisht1
 

Recently uploaded (17)

MEASURES OF DISPERSION I BSc Botany .ppt
MEASURES OF DISPERSION I BSc Botany .pptMEASURES OF DISPERSION I BSc Botany .ppt
MEASURES OF DISPERSION I BSc Botany .ppt
 
Strategic CX: A Deep Dive into Voice of the Customer Insights for Clarity
Strategic CX: A Deep Dive into Voice of the Customer Insights for ClarityStrategic CX: A Deep Dive into Voice of the Customer Insights for Clarity
Strategic CX: A Deep Dive into Voice of the Customer Insights for Clarity
 
Master's Thesis - Data Science - Presentation
Master's Thesis - Data Science - PresentationMaster's Thesis - Data Science - Presentation
Master's Thesis - Data Science - Presentation
 
SFBA Splunk Usergroup meeting March 13, 2024
SFBA Splunk Usergroup meeting March 13, 2024SFBA Splunk Usergroup meeting March 13, 2024
SFBA Splunk Usergroup meeting March 13, 2024
 
Virtuosoft SmartSync Product Introduction
Virtuosoft SmartSync Product IntroductionVirtuosoft SmartSync Product Introduction
Virtuosoft SmartSync Product Introduction
 
Mapping the pubmed data under different suptopics using NLP.pptx
Mapping the pubmed data under different suptopics using NLP.pptxMapping the pubmed data under different suptopics using NLP.pptx
Mapping the pubmed data under different suptopics using NLP.pptx
 
ChistaDATA Real-Time DATA Analytics Infrastructure
ChistaDATA Real-Time DATA Analytics InfrastructureChistaDATA Real-Time DATA Analytics Infrastructure
ChistaDATA Real-Time DATA Analytics Infrastructure
 
YourView Panel Book.pptx YourView Panel Book.
YourView Panel Book.pptx YourView Panel Book.YourView Panel Book.pptx YourView Panel Book.
YourView Panel Book.pptx YourView Panel Book.
 
Cash Is Still King: ATM market research '2023
Cash Is Still King: ATM market research '2023Cash Is Still King: ATM market research '2023
Cash Is Still King: ATM market research '2023
 
The Universal GTM - how we design GTM and dataLayer
The Universal GTM - how we design GTM and dataLayerThe Universal GTM - how we design GTM and dataLayer
The Universal GTM - how we design GTM and dataLayer
 
CI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionCI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual intervention
 
Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024
Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024
Persuasive E-commerce, Our Biased Brain @ Bikkeldag 2024
 
AI for Sustainable Development Goals (SDGs)
AI for Sustainable Development Goals (SDGs)AI for Sustainable Development Goals (SDGs)
AI for Sustainable Development Goals (SDGs)
 
5 Ds to Define Data Archiving Best Practices
5 Ds to Define Data Archiving Best Practices5 Ds to Define Data Archiving Best Practices
5 Ds to Define Data Archiving Best Practices
 
TINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptx
TINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptxTINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptx
TINJUAN PEMROSESAN TRANSAKSI DAN ERP.pptx
 
How is Real-Time Analytics Different from Traditional OLAP?
How is Real-Time Analytics Different from Traditional OLAP?How is Real-Time Analytics Different from Traditional OLAP?
How is Real-Time Analytics Different from Traditional OLAP?
 
Elements of language learning - an analysis of how different elements of lang...
Elements of language learning - an analysis of how different elements of lang...Elements of language learning - an analysis of how different elements of lang...
Elements of language learning - an analysis of how different elements of lang...
 

Online MySQL Backups with Percona XtraBackup

  • 1. Online Backups with Percona Live Amsterdam - October 2016 1 / 42
  • 3. Agenda What is Percona XtraBackup Backup Process Restore Process Incremental Compression, Streaming, Encryption Cloud Backups - α Percona Server Specific Features 3 / 42
  • 7. Online (Non Blocking) InnoDB Backups Physical Datafiles Copied What is https://www.percona.com/software/mysql-database/percona-xtrabackup 7 / 42
  • 8. Online (Non Blocking) InnoDB Backups Physical Datafiles Copied Less Impact on Production Faster Restore Time Than Logical Backups What is https://www.percona.com/software/mysql-database/percona-xtrabackup 8 / 42
  • 9. Online (Non Blocking) InnoDB Backups Physical Datafiles Copied Less Impact on Production Faster Restore Time Than Logical Backups What is https://www.percona.com/software/mysql-database/percona-xtrabackup Open Source Blocking Support MyISAM... Incremental/Delta Compression/Encryption Cloud Backup 9 / 42
  • 10. 10 / 42 (Data) Backup Process
  • 11. (Data) Backup Process - 1. Backup Backup .ibdfiles while in use /var/lib/mysql/ibdata1 /var/lib/mysql/imdb/aka_name.ibd /var/lib/mysql/imdb/aka_title.ibd ... 11 / 42
  • 12. (Data) Backup Process - 1. Backup Backup .ibdfiles while in use /var/lib/mysql/ibdata1 /var/lib/mysql/imdb/aka_name.ibd /var/lib/mysql/imdb/aka_title.ibd ... track changes through trx logs /var/lib/mysql/ib_log le0 /var/lib/mysql/ib_log le1 12 / 42
  • 13. (Data) Backup Process - 2. Prepare Apply changes from trx logs onto backupped .ibdfiles. 13 / 42
  • 14. (Data) Backup Process - 1. Backup #xtrabackup--backup--target-dir=/data/backups/ 16100122:16:49ConnectingtoMySQLserverhost:localhost,user:root,password:not Usingserverversion5.7.14-8-log xtrabackupversion2.4.4basedonMySQLserver5.7.13Linux(x86_64)(revisionid xtrabackup:usesposix_fadvise(). ... InnoDB:Numberofpools:1 16100122:16:49>>logscannedupto(5147619414) xtrabackup:Generatingalistoftablespaces InnoDB:AllocatedtablespaceID2formysql/plugin,oldmaximumwas0 16100122:16:50[01]Copying./ibdata1to/data/backups/ibdata1 16100122:16:50[01]Copying./mysql/plugin.ibdto/data/backups/mysql/plugin.ibd 16100122:16:50[01]Copying./mysql/servers.ibdto/data/backups/mysql/servers.ibd 16100122:16:50[01]Copying./mysql/help_topic.ibdto/data/backups/mysql/help_topic.i ... 16100122:17:13[01]Copying./imdb/users.ibdto/data/backups/imdb/users.ibd 16100122:17:13>>logscannedupto(5147619414) 16100122:17:14ExecutingFLUSHNO_WRITE_TO_BINLOGTABLES... 16100122:17:14ExecutingFLUSHTABLESWITHREADLOCK... 14 / 42
  • 15. (Data) Backup Process - 1. Backup (2) 16100122:17:14Startingtobackupnon-InnoDBtablesand les 16100122:17:14[01]Copying./mysql/db.optto/data/backups/mysql/db.opt 16100122:17:14[01]Copying./mysql/db.frmto/data/backups/mysql/db.frm 16100122:17:14[01]Copying./mysql/db.MYIto/data/backups/mysql/db.MYI 16100122:17:14[01]Copying./mysql/db.MYDto/data/backups/mysql/db.MYD 16100122:17:17[01]Copying./imdb/users.frmto/data/backups/imdb/users.frm 16100122:17:17Finishedbackingupnon-InnoDBtablesand les 16100122:17:17ExecutingFLUSHNO_WRITE_TO_BINLOGENGINELOGS... xtrabackup:Thelatestcheckpoint(forincremental):'5147619454' xtrabackup:Stoppinglogcopyingthread. .16100122:17:17>>logscannedupto(5147619463) 16100122:17:17ExecutingUNLOCKTABLES 16100122:17:17Alltablesunlocked 16100122:17:17[00]Copyingib_buffer_poolto/data/backups/ib_buffer_pool 16100122:17:17[00] ...done 16100122:17:17Backupcreatedindirectory'/data/backups/' 16100122:17:17[00]Writingbackup-my.cnf 16100122:17:17[00] ...done 16100122:17:17[00]Writingxtrabackup_info 16100122:17:17[00] ...done xtrabackup:Transactionlogoflsn(5147619405)to(5147619463)wascopied. 16100122:17:18completedOK! 15 / 42
  • 16. (Data) Backup Process - 2. Prepare (1) #xtrabackup--prepare--target-dir=/data/backups/ xtrabackupversion2.4.4basedonMySQLserver5.7.13Linux(x86_64)(revisionid:df58 xtrabackup:cdto/data/backups xtrabackup:Thistargetseemstobenotpreparedyet. ... xtrabackup:StartingInnoDBinstanceforrecovery. xtrabackup:Using104857600bytesforbufferpool(setby--use-memoryparameter) ... InnoDB:Logscanprogressedpastthecheckpointlsn5147619405 InnoDB:Doingrecovery:scanneduptologsequencenumber5147619463(0%) InnoDB:Doingrecovery:scanneduptologsequencenumber5147619463(0%) InnoDB:Databasewasnotshutdownnormally! InnoDB:Startingcrashrecovery. InnoDB:xtrabackup:LastMySQLbinlog leposition333, lenameperconaserver-bin.000007 ... InnoDB:96redorollbacksegment(s)found.1redorollbacksegment(s)areactive. InnoDB:32non-redorollbacksegment(s)areactive. InnoDB:Waitingforpurgetostart InnoDB:5.7.13started;logsequencenumber5147619463 InnoDB:xtrabackup:LastMySQLbinlog leposition333, lenameperconaserver-bin.00 xtrabackup:startingshutdownwithinnodb_fast_shutdown=1 InnoDB:FTSoptimizethreadexiting. InnoDB:Startingshutdown... InnoDB:Shutdowncompleted;logsequencenumber5147619482 16 / 42
  • 17. (Data) Backup Process - 2. Prepare (2) ... InnoDB:Settinglog le./ib_log le101sizeto64MB InnoDB:Settinglog le./ib_log le1sizeto64MB InnoDB:Renaminglog le./ib_log le101to./ib_log le0 InnoDB:Newlog lescreated,LSN=5147619482 InnoDB:Highestsupported leformatisBarracuda. InnoDB:Logscanprogressedpastthecheckpointlsn5147619852 InnoDB:Doingrecovery:scanneduptologsequencenumber5147619861(0%) InnoDB:Doingrecovery:scanneduptologsequencenumber5147619861(0%) InnoDB:Databasewasnotshutdownnormally! InnoDB:Startingcrashrecovery. InnoDB:xtrabackup:LastMySQLbinlog leposition333, lenameperconaserver-bin ... InnoDB:96redorollbacksegment(s)found.1redorollbacksegment(s)areactive. InnoDB:32non-redorollbacksegment(s)areactive. InnoDB:Waitingforpurgetostart InnoDB:5.7.13started;logsequencenumber5147619861 xtrabackup:startingshutdownwithinnodb_fast_shutdown=1 InnoDB:FTSoptimizethreadexiting. InnoDB:Startingshutdown... InnoDB:Shutdowncompleted;logsequencenumber5147619880 16100122:30:05completedOK! 17 / 42
  • 18. 18 / 42 Restore Process
  • 19. Restore Process After preparation, the backup directory ==data directory 19 / 42
  • 20. Restore Process After preparation, the backup directory ==data directory #cp-R/data/backup//var/lib/mysql #chown-Rmysql:mysql/var/lib/mysql #systemctlstartmysqld 20 / 42
  • 23. Incremental Backups Only Copy InnoDB Pages That Changed (still copies all non InnoDB Tables) 23 / 42
  • 24. Pro: Smaller backup size Faster To Backup Incremental & Delta Incremental Backups Only Copy InnoDB Pages That Changed (still copies all non InnoDB Tables) 24 / 42
  • 25. Pro: Smaller backup size Faster To Backup Incremental & Delta Con: Slower to restore than full On , all data is read Incremental Backups Only Copy InnoDB Pages That Changed (still copies all non InnoDB Tables) 25 / 42
  • 26. Incremental Backups - Process 26 / 42
  • 27. Incremental Backups - Process Take Incremental: #xtrabackup--backup --target-dir=/data/backups/inc/tuesday/ --incremental-basedir=/data/backups/full/sunday/ 27 / 42
  • 28. Incremental Backups - Process Take Incremental: #xtrabackup--backup --target-dir=/data/backups/inc/tuesday/ --incremental-basedir=/data/backups/full/sunday/ Prepare Full #xtrabackup--prepare --apply-log-only --target-dir=/data/backups/mysql/ 28 / 42
  • 29. Incremental Backups - Process Take Incremental: #xtrabackup--backup --target-dir=/data/backups/inc/tuesday/ --incremental-basedir=/data/backups/full/sunday/ Prepare Full #xtrabackup--prepare --apply-log-only --target-dir=/data/backups/mysql/ Apply Incremental #xtrabackup--prepare--apply-log-only --target-dir=/data/backups/full/sunday --incremental-dir=/data/backups/inc/tuesday/ 29 / 42
  • 30. 30 / 42 Compression, Streaming, Encryption
  • 35. 35 / 42 Cloud Backups - α
  • 36. Cloud Backups - α Stream to Cloud directly Swift α 36 / 42
  • 37. Cloud Backups - α Put #xtrabackup--backup--stream=xbstream--target-dir=/data/backups| xbcloudput--storage=Swift --swift-container=test--swift-user=test:tester --swift-auth-url=http://192.168.8.80:8080/ --swift-key=testing full_backup 37 / 42
  • 38. Cloud Backups - α Put #xtrabackup--backup--stream=xbstream--target-dir=/data/backups| xbcloudput--storage=Swift --swift-container=test--swift-user=test:tester --swift-auth-url=http://192.168.8.80:8080/ --swift-key=testing full_backup Get #xbcloudget--storage=Swift --swift-container=test--swift-user=test:tester --swift-auth-url=http://192.168.8.80:8080/ --swift-key=testing full_backup|xbstream-xv-C/tmp/downloaded_full #xtrabackup--prepare--target-dir=/tmp/downloaded_full #xtrabackup--copy-back--target-dir=/tmp/downloaded_full 38 / 42
  • 40. Backup Locks Implements LOCKTABLESFORBACKUPto Avoid FLUSHTABLESWITHREADLOCK, used for: Non-InnoDB Tables (mysqlschema... ) Binary Log Position Blocks DML to non-InnoDB Blocks DDL Allows Reads/Writes to InnoDB tables during 40 / 42
  • 41. Change Page Tracking - Incremental Backups Incremental backup does no longer require reading all pages to determine if a page changed since the last full backup How: Percona Server tracks pages changed in InnoDB Tablespaces Incremental backup reads changed page file, only reads changed pages Why: Less load on database server (a lot less Disk IO) 41 / 42