SlideShare a Scribd company logo
Percona Xtrabackup
Nilnandan Joshi
Support Engineer
Percona LLC 2014
www.percona.com
Introduction

Percona Xtrabackup provides a fully open-
source, free, high-performance, non-blocking
backup system for InnoDB or XtraDB tables

It can also backup MyISAM, Archive, Merge,
and other SQL-level objects

It is a reliable, widely-used alternative to
Oracle's MySQL Enterprise Backup
www.percona.com
Features
Full Binary Backups Incremental backups Open Source (GPL)
Online (non-blocking)* Parallel backups & compression Cost: Free
InnoDB & MyISAM Streaming backups MySQL compatibility
Compressed backups Compact backups MySQL Forks' support
Point-in-time recovery
support
Export individual tables; restore
to a different server
MySQL replication &
Galera support
Incremental backups LRU backups Community Help
Throttling OS buffer optimizations Commercial Support
Partial Backups Encrypted backups Easy migration
www.percona.com
Compatibility

Versions <= 2.0 are compatible with :
Oracle MySQL 5.0, 5.1, 5.5 and 5.6
Equivalent versions of Percona Server, MariaDB,
and Drizzle

Version 2.1 is compatible with:
Oracle MySQL 5.1 (plugin version [1] ), 5.5, 5.6
Equivalent versions of Percona Server, MariaDB,
and Drizzle
[1] The InnoDB Engine plugin 1.0 is distributed -but not enabled- by default. See:
http://dev.mysql.com/doc/innodb-plugin/1.0/en/innodb-plugin-installation.html
www.percona.com
xtrabackup vs. innobackupex

Percona XtraBackup includes two main
executables

xtrabackup is the low level binary that
handles the creation and consistency
checking of InnoDB backups.

innobackupex is a higher-level Perl wrapper
for xtrabackup and is also responsible for
the rest of the operations, including the
backup of other engines

You usually want to use innobackupex
www.percona.com
xtrabackup vs. innobackupex
www.percona.com
Installation
The most straightforward way is installing the
Percona apt or yum repositories

Then install the package with:
- yum install percona-xtrabackup
- aptitude update && aptitude install percona-
xtrabackup

Other installation options can be found at
http://www.percona.com/downloads/XtraBack
up/
www.percona.com
Requirements and Limitations

Only fully supported on Linux machines

innobackupex is a Perl script

Package should take care of all
dependencies (Perl interpreter, mysql
driver, other libraries)

Local access to the MySQL datadir is
required

READ, WRITE and EXECUTE filesystem
privileges are needed

This makes xtrabackup incompatible
with RDS or some web hosting providers
www.percona.com
How Percona XtraBackup
Works: Full Backup
www.percona.com
How Percona XtraBackup
Works: Full Restore
www.percona.com
Command Line Execution

Minimal options for a full backup:
# innobackupex /path/to/backup/
• Actual backup is stored in a timestamped
subdirectory.
• It reads the datadir and innodb paths from
my.cnf
• A more complete set of options:
# innobackupex --host=localhost
--user=root --password=secret /tmp
www.percona.com
What it looks like
root@nilnandan-Dell-XPS:/var/lib/mysql# sudo innobackupex
--user=root --password=root /home/nilnandan/backup
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
140709 13:52:04 innobackupex: Connecting to MySQL server with DSN
'dbi:mysql:;mysql_read_default_group=xtrabackup' as 'root' (using
password: YES).
140709 13:52:04 innobackupex: Connected to MySQL server
140709 13:52:04 innobackupex: Executing a version check against the
server...
140709 13:52:04 innobackupex: Done.
www.percona.com
Target Directory
root@nilnandan-Dell-XPS:~# ls -al /home/nilnandan/backup/2014-07-09_13-52-04
total 77868
drwxr-xr-x 6 root root 4096 Jul 9 14:28 .
drwxrwxr-x 4 nilnandan nilnandan 4096 Jul 9 14:21 ..
-rw-r--r-- 1 root root 356 Jul 9 13:52 backup-my.cnf
drwx------ 2 root root 4096 Jul 9 13:52 dbtest
-rw-r----- 1 root root 79691776 Jul 9 13:52 ibdata1
drwx------ 2 root root 4096 Jul 9 13:52 mysql
drwxr-xr-x 2 root root 4096 Jul 9 13:52 performance_schema
drwx------ 2 root root 4096 Jul 9 13:52 test
-rw-r----- 1 root root 95 Jul 9 13:52 xtrabackup_checkpoints
-rw-r--r-- 1 root root 528 Jul 9 13:52 xtrabackup_info
-rw-r----- 1 root root 2560 Jul 9 13:52 xtrabackup_logfile
root@nilnandan-Dell-XPS:~#
www.percona.com
Files in Target Directory

Hierarchy of files and directories mirroring the original
database structure.

backup-my.cnf: Not a backup of the server
configuration. It only contains the minimal InnoDB
settings at the time the backup to execute the --apply-
log phase

xtrabackup_info: Contains all informations about
xtrabackup binary, server version, start and end time
of backup, binlog position etc.

xtrabackup_checkpoints: Metadata about the
backup (type of backup, lsn, etc.)

xtrabackup_logfile: Data needed for the --apply-log
phase
www.percona.com
Preparation Phase

Before the backup directory can be used, we must:

Make sure that the InnoDB tablespaces have
consistent,non-corrupt data

Create new transaction logs

innobackupex executes xtrabackup twice:

First, to do a controlled crash recovery, applying the
log entries with xtrabackup's embedded InnoDB.
This redoes all written committed transactions and
undoes uncommitted ones.

Second, to create the empty logs
www.percona.com
Preparation Phase (cont)

Only xtrabackup/innobackupex and the backup
directory are needed

It can be done on different machine than the
original server (we have the xtrabackup binary and
the innodb configuration parameters)

Generally, you do it just before restore. If you only do
full backups and want to minimize the MTTR (Mean
Time To Recover), you can prepare immediately after
backup
www.percona.com
Command Line Execution

The simplest form:
$ innobackupex --apply-log
/media/backups/2017-07-08_13-22-12

You may specify a memory parameter:
$ innobackupex –apply-log --use-memory=4G
/media/backups/2017-07-08_13-22-12

this increases the available buffer pool for the
recovery phase (100M by default), to improve
performance
www.percona.com
How It Looks Like
nilnandan@nilnandan-Dell-XPS:~/backup$ sudo innobackupex --apply-log 2014-07-
09_13-52-04
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
IMPORTANT: Please check that the apply-log run completes successfully.
At the end of a successful apply-log run innobackupex
prints "completed OK!".
140710 10:06:57 innobackupex: Starting ibbackup with command: xtrabackup
--defaults-file="/home/nilnandan/backup/2014-07-09_13-52-04/backup-my.cnf"
--defaults-group="mysqld" --prepare --target-dir=/home/nilnandan/backup/2014-
07-09_13-52-04 --tmpdir=/tmp
www.percona.com
Restore

After --apply-log, we have a consistent full raw
backup

We can just move it back to the datadir with
standard OS commands once the server is shut
down

As a physical backup, restoration is as fast as you
can copy the directory contents to the local filesystem

There are specific commands for restoration in
XtraBackup
www.percona.com
Copy Back

The integrated command to restore a backup is:
# innobackupex --copy-back /media/backups/2017-07-
08_13-22-12

It complains if the datadir, as read from the config
file, is not empty [1] (it will not overwrite existing
data)

Only partial restores can be done to a running
server

xtrabackup_* files are not needed
[1] We can override this behavior with the option --force-non-empty-
directories , but it will never overwrite existent files
www.percona.com
What It Looks Like
root@nilnandan-Dell-XPS:~# sudo innobackupex --copy-back
/home/nilnandan/backup/2014-07-09_13-52-04/
...
innobackupex: Starting to copy files in '/home/nilnandan/backup/2014-07-
09_13-52-04'
innobackupex: back to original data directory '/var/lib/mysql'
innobackupex: Copying '/home/nilnandan/backup/2014-07-09_13-52-
04/xtrabackup_info' to '/var/lib/mysql/xtrabackup_info'
innobackupex: Creating directory '/var/lib/mysql/mysql'
innobackupex: Copying '/home/nilnandan/backup/2014-07-09_13-52-
04/mysql/time_zone_leap_second.frm' to
...
innobackupex: Starting to copy InnoDB log files
innobackupex: in '/home/nilnandan/backup/2014-07-09_13-52-04'
innobackupex: back to original InnoDB log directory '/var/lib/mysql'
innobackupex: Copying '/home/nilnandan/backup/2014-07-09_13-52-
04/ib_logfile1' to '/var/lib/mysql/ib_logfile1'
innobackupex: Copying '/home/nilnandan/backup/2014-07-09_13-52-
04/ib_logfile0' to '/var/lib/mysql/ib_logfile0'
innobackupex: Finished copying back files.
140710 11:04:12 innobackupex: completed OK!
root@nilnandan-Dell-XPS:~#
www.percona.com
Move Back

As an alternative to --copy-back, we can also do:
# innobackupex --move-back /media/backups/2017-07-
08_13-22-12

This may be faster or more convenient if the backup is
already on the same partition or don't have enough
free space
www.percona.com
Restoring Permissions

After restore, as file permissions are preserved, you
will probably have to fix file ownership:
# chown -R mysql:mysql /var/lib/mysql

If MySQL cannot write to the data directory or some of
it files, it will refuse to start
www.percona.com
Incremental Backup

Differential & Incremental Backups

Differential backup: saves only the difference in the
data since the last full backup

Incremental backup: saves only the difference in
the data since the last backup (full or another
incremental)

Xtrabackup can perform both, which can lead to an
important save in space (and potentially, time),
specially if the backups are very frequent or the
database is very static
www.percona.com
Incremental Backup(cont..)

Differential and incremental backups work the
same way with xtrabackup:

Every page stores the Log Sequence Number (LSN)
when it was last changed

Only pages that have a higher LSN than the base
backup (full or incremental) are copied
www.percona.com
Incremental Backup(cont..)
www.percona.com
Incremental Backup(cont..)

Restoration of Incremental Backups

On prepare time, the new pages have to be applied in
order to the full backup before restore

This is the reason why you want to wait to fully apply
the log just before restore time

Uncommitted transactions must not be undone, as
they may have finished on a subsequent
incremental backup

Intermediate backups have to apply changes with
the option --redo-only
www.percona.com
Incremental Backup(cont..)
www.percona.com
Partial Backups

When using xtrabackup (or innobackupex), we can
filter out some of the tables, effectively copying only
some databases or tables

Two main restrictions apply for InnoDB tables:

Original database must use innodb_file_per_table,
as xtrabackup works at filesystem level

Recovering individual tables is only possible for
MySQL 5.6. Previous versions require Percona
XtraDB extensions with tablespace import enabled
www.percona.com
Partial Backups (cont..)

Command Line Options for Segmented Backups:

--include : Matches the fully qualified name
(database.table) against a regular expression

--databases : Matches a list of databases (or tables)
separated by spaces.

--tables-file : Matches a list of tables, one per line,
stored on the specified file
www.percona.com
Partial Backups (cont..)

Examples

Backup only the test database:

# innobackupex --include=^test[.] /data/backups

Backup all except the mysql database*:
$ mysql -e "SELECT concat(table_schema, '.',
table_name) from information_schema.tables WHERE
table_schema NOT IN ('mysql', 'performance_schema',
'information_schema')" > /tmp/tables

# innobackupex --tables-file=/tmp/tables
/data/backups
www.percona.com
Streaming

Xtrabackup allows the streaming of the backup files
to the UNIX standard output

This allows to post-process them or send them to a
remote location while the backup is ongoing
www.percona.com
Streaming (cont..)

The stream option accepts two parameters:

--stream=tar
It sends all files to the standard output in the tar
archive format (single file without compression)

--stream=xbstream
The standard output will using the new included
xbstream format, which allows simultaneous
compression, encryption and parallelization

A temporal file path is still required
www.percona.com
Streaming (cont..)

Using tar:
# innobackupex --stream=tar /tmp > backup.tar
# innobackupex --stream=tar /tmp | 
bzip2 - > backup.tar.bz2

To extract, the tar -i option (ignore zeros) must be
used:
# tar -xivf backup.tar
# tar -jxif backup.tar.bz2
www.percona.com
Streaming (cont..)

Using xbstream
# innobackupex --stream=xbstream /tmp > 
backup.xbstream

To extract, use the xbstream binary provided with
Percona Xtrabackup:
# xbstream -x < backup.xbstream -C /root
www.percona.com
Compression

We can use --compress to produce quicklz-
compressed files:
# innobackupex --compress /media/backups

To decompress, we can use --decompress or
qpress* to decompress the individual .qp files
manually:
# innobackupex --decompress 
/media/backups/2017-07-08_13-22-12
# find . -name "*.qp" -execdir qpress -d {} . ;
www.percona.com
Compression and xbstream

The --compress flag can be combined with
xbstream (not with tar):
# innobackupex --compress --stream=xbstream /tmp 
> /media/backups/backup.xbstream

Before preparation, we must use first xbstream,
then decompress:
# xbstream -x -C /media/backups < backup.xbstream
# innobackupex --decompress /media/backups
www.percona.com
Parallel Copy and Compression

If using xbstream, we can use --parallel to archive
several files at the same time:
# innobackupex --parallel=4 --stream=xbstream 
/tmp > /media/backups/backup.tar

If we are using compression, we can parallelize the
process for each file with –compress-threads
# innobackupex --compress --compress-threads=8 
--stream=xbstream /tmp > /media/backups/backup.tar
www.percona.com
Remote Backups

xtrabackup can send automatically the backup files
to a remote host by redirecting the output to
applications like ssh or netcat:
# innobackupex --stream=tar /tmp 
| ssh user@host "cat - > 
/media/backups/backup.tar"
# ssh user@host "( nc -l 9999 > 
/media/backups/backup.tar & )" 
&& innobackupex --stream=tar /tmp 
| nc host 9999
www.percona.com
Throttling Remote Backups

pv (pipe viewer) utility can be useful for both
monitoring and limiting the bandwidth of the copy
process

The following limits the transmission to 10MB/s:
# innobackupex --stream=tar ./ 
| pv -q -L10m 
| ssh user@desthost 
"cat - > /media/backups/backup.tar"
www.percona.com
Compact Backups

In order to reduce backup size, we can skip the copy
of secondary index pages:
# innobackupex --compact /media/backups

The space saved will depend on the size of the
secondary indexes. For example:
#backup size without --compact
2.0G 2018-02-01_10-18-38
#backup size taken with --compact option
1.4G 2018-02-01_10-29-48
www.percona.com
Preparing Compact Backups

The downside of compact backups is that the
prepare phase will take longer, as the secondary
keys have to be regenerated ( --rebuild-indexes ):
# cat xtrabackup_checkpoints
backup_type = full-backuped
from_lsn = 0
to_lsn = 9541454813
last_lsn = 9541454813
compact = 1
# innobackupex --apply-log --rebuild-indexes
/media/backups/2017-07-08_13-22-12
www.percona.com
Rebuilding Indexes

The --rebuild-threads option can be used to speed up
the recreation of the keys, by doing it in parallel:

# innobackupex --apply-log  --rebuild-indexes
--rebuild-threads=8  /media/backups/2017-07-08_13-
22-12

Rebuilding indexes has the side effect of
defragmenting them, as they are done in order. We
can rebuild regular full-backups, too.
www.percona.com
Encrypted Backups

Xtrabackup has support for symmetric encryption
through the libgcrypt library for both local and
xbstream backups

Before using encryption, a key must be generated.
For example, to create an SHA256 key:

# openssl enc -aes-256-cbc -pass pass:mypass -P -md
sha1 salt=9C8CE740FD0FE6AD
key=0A632731C0EABA6131B6683068E04629524FC8F
C1E0F69037D5ED03AF126BD0B
iv =03E872849A8DA83647A5FCEFDF1C68F2
* Please note that specifying passwords on the command line input is considered
insecure.
www.percona.com
Encrypted Backups (cont..)

We can now use the previous value of iv as our
encryption key:
$ innobackupex --encrypt=AES256  --encrypt-
key="03E872849A8DA83647A5FCEFDF1C68F2" 
/data/backups

Options:
--encryption : Defines the algorithm to be used
(supports AES128, AES192 and AES256)
--encrypt-key : Defines the encryption key to use
directly on the command line.
--encrypt-key-file : Defines the encryption key by
pointing to a file that contains it. This is recommended
over the encrypt-key option
www.percona.com
Speeding up Encryption

Parallel encryption is possible by encrypting more
than one file at a time (--parallel) and using more than one
thread for each file (--encrypt-threads):
# innobackupex --encrypt=AES256 
--encryption-key-file=/media/backups/keyfile
--stream=xbstream --encrypt-threads=4 /tmp 
> /media/backups/backup.xbstream

We can also change the buffer for each encryption thread
with --encrypt-chunk-size (default 64K)
www.percona.com
Decrypting Backups

Before preparing it, the backup must be unarchived (if
xbstream was used) and decrypted. We can use --decrypt or
do it for each individual .xbscript file using xbscript
(included with xtrabackup):
# innobackupex --decrypt=AES256 
--encrypt-key="A1EDC73815467C083B0869508406637E" 
/data/backups/2013-08-01_08-31-35/
# for i in `find . -iname "*.xbcrypt"`; do 
xbcrypt -d --encrypt-key-file=/media/backups/filekey 
--encrypt-algo=AES256 < $i 
> $(dirname $i)/$(basename $i .xbcrypt) && rm $i; done

--parallel can speed up the process as well
www.percona.com
TROUBLESHOOTING AND
PERFORMANCE
Locking Issues

By default, innobackupex will lock the tables (FTWRL)
during the last phase of the backup

You can use --no-lock if you are only backing up
InnoDB tables and no DDL are executing on that last
Phase*

You can use --no-lock if you backup other engines if no
DDLs are executed, and non-innodb tables are not
modified (e.g. users are created on the mysql
database)*

You can use --rsync to minimize the copy time when
locked
* Please note that --no-lock also makes impossible to obtain a reliable binary log
coordinates.
www.percona.com
TROUBLESHOOTING AND
PERFORMANCE
File Not Found
2017-07-08 12:56:56 7f0dfe4737e0 InnoDB: Operating system error
number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
2017-07-08 12:56:56 7f0dfe4737e0 InnoDB: File name ./ibdata1
2017-07-08 12:56:56 7f0dfe4737e0 InnoDB: File operation call: 'open'
returned OS error 71.
2017-07-08 12:56:56 7f0dfe4737e0 InnoDB: Cannot continue operation.
innobackupex: Error: ibbackup child process has died at /usr/bin/
innobackupex line 389.

Set a correct datadir option on /etc/my.cnf
www.percona.com
TROUBLESHOOTING AND
PERFORMANCE
Permission Denied
InnoDB: read-write can't be opened in ./ibdata1 mode
xtrabackup: Could not open or create data files.
[...]
xtrabackup: error: xb_data_files_init() failed witherror code 1000
innobackupex: Error: ibbackup child process has died at /usr/bin/
innobackupex line 389.
innobackupex: Error: Failed to create backup directory /backups/
2017-07-08_12-19-01: Permission denied at /usr/bin/innobackupex line
389.

Use the Linux root user or any other account with
read/write permissions on datadir and on target-dir
www.percona.com
TROUBLESHOOTING AND
PERFORMANCE
MySQL Does Not Start After
Recovery
Starting MySQL server... FAILED
The server quit without updating PID file

Did you change file permissions of the files to the
mysql user?

Did you remember to apply the log before restart?
Failing to do so can also corrupt the backup.

Did you restore an appropriate my.cnf file? Previous
versions of MySQL (< 5.6) do not start if transaction log
files have a different size than specified/default
www.percona.com
TROUBLESHOOTING AND
PERFORMANCE
The Backup Takes Too Long

As MySQL performs physical backups, the speed
should be close to to a filesystem copy. If IO impact
is not a concern, we can speed it up by:

Using parallelization ( --parallel , --compression-
threads , --encrypt-threads , --rebuild-threads )

Using compression ( --compress ) if the extra CPU
compensates the lower bandwidth required

Using incremental backups (specially with Percona
extensions) to perform rolling full backups
nilnandan.joshi@percona.com
@nilnandan

More Related Content

What's hot

Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQL
I Goo Lee
 
Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기
NeoClova
 
Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0
Mydbops
 
Automated master failover
Automated master failoverAutomated master failover
Automated master failover
Yoshinori Matsunobu
 
InnoDB Performance Optimisation
InnoDB Performance OptimisationInnoDB Performance Optimisation
InnoDB Performance Optimisation
Mydbops
 
MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼
NeoClova
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptx
NeoClova
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바
NeoClova
 
MariaDB MaxScale
MariaDB MaxScaleMariaDB MaxScale
MariaDB MaxScale
MariaDB plc
 
Maxscale_메뉴얼
Maxscale_메뉴얼Maxscale_메뉴얼
Maxscale_메뉴얼
NeoClova
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
NeoClova
 
ProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management Overview
René Cannaò
 
MySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestMySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software Test
I Goo Lee
 
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
Altinity Ltd
 
High Availability and Disaster Recovery in PostgreSQL - EQUNIX
High Availability and Disaster Recovery in PostgreSQL - EQUNIXHigh Availability and Disaster Recovery in PostgreSQL - EQUNIX
High Availability and Disaster Recovery in PostgreSQL - EQUNIX
Julyanto SUTANDANG
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoin
Wagner Bianchi
 
ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)
Mydbops
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
NHN FORWARD
 
MySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 TipsMySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 Tips
OSSCube
 
Galera Cluster Best Practices for DBA's and DevOps Part 1
Galera Cluster Best Practices for DBA's and DevOps Part 1Galera Cluster Best Practices for DBA's and DevOps Part 1
Galera Cluster Best Practices for DBA's and DevOps Part 1
Codership Oy - Creators of Galera Cluster
 

What's hot (20)

Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQL
 
Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기
 
Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0
 
Automated master failover
Automated master failoverAutomated master failover
Automated master failover
 
InnoDB Performance Optimisation
InnoDB Performance OptimisationInnoDB Performance Optimisation
InnoDB Performance Optimisation
 
MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptx
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바
 
MariaDB MaxScale
MariaDB MaxScaleMariaDB MaxScale
MariaDB MaxScale
 
Maxscale_메뉴얼
Maxscale_메뉴얼Maxscale_메뉴얼
Maxscale_메뉴얼
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
 
ProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management Overview
 
MySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestMySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software Test
 
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
 
High Availability and Disaster Recovery in PostgreSQL - EQUNIX
High Availability and Disaster Recovery in PostgreSQL - EQUNIXHigh Availability and Disaster Recovery in PostgreSQL - EQUNIX
High Availability and Disaster Recovery in PostgreSQL - EQUNIX
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoin
 
ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
 
MySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 TipsMySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 Tips
 
Galera Cluster Best Practices for DBA's and DevOps Part 1
Galera Cluster Best Practices for DBA's and DevOps Part 1Galera Cluster Best Practices for DBA's and DevOps Part 1
Galera Cluster Best Practices for DBA's and DevOps Part 1
 

Viewers also liked

Fast Incremental Backups with Percona Server and Percona XtraBackup / PLMCE 2014
Fast Incremental Backups with Percona Server and Percona XtraBackup / PLMCE 2014Fast Incremental Backups with Percona Server and Percona XtraBackup / PLMCE 2014
Fast Incremental Backups with Percona Server and Percona XtraBackup / PLMCE 2014
Laurynas Biveinis
 
Introducing Xtrabackup Manager
Introducing Xtrabackup ManagerIntroducing Xtrabackup Manager
Introducing Xtrabackup ManagerHenrik Ingo
 
Pquery_presentation_03 2
Pquery_presentation_03 2Pquery_presentation_03 2
Pquery_presentation_03 2Alexey Bychko
 
Lessons from database failures
Lessons from database failures Lessons from database failures
Lessons from database failures
Colin Charles
 
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke KajiyamaInsight Technology, Inc.
 
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
靖 小田島
 
Spider DeNA Technology Seminar #2
Spider DeNA Technology Seminar #2Spider DeNA Technology Seminar #2
Spider DeNA Technology Seminar #2Kentoku
 
Ansible with AWS
Ansible with AWSAnsible with AWS
Ansible with AWS
Allan Denot
 
Zabbix+group replication
Zabbix+group replicationZabbix+group replication
Zabbix+group replication
bri nger
 
Sharding and Scale-out using MySQL Fabric
Sharding and Scale-out using MySQL FabricSharding and Scale-out using MySQL Fabric
Sharding and Scale-out using MySQL Fabric
Mats Kindahl
 
From crash to testcase
From crash to testcaseFrom crash to testcase
From crash to testcase
Roel Van de Paar
 
MySQL InnoDB Cluster 미리보기 (remote cluster test)
MySQL InnoDB Cluster 미리보기 (remote cluster test)MySQL InnoDB Cluster 미리보기 (remote cluster test)
MySQL InnoDB Cluster 미리보기 (remote cluster test)
Seungmin Yu
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
Frederic Descamps
 
Nuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWSNuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWS
Matteo Moretti
 
MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017
Dave Stokes
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Keon Ahn
 
Building Scalable High Availability Systems using MySQL Fabric
Building Scalable High Availability Systems using MySQL FabricBuilding Scalable High Availability Systems using MySQL Fabric
Building Scalable High Availability Systems using MySQL Fabric
Mats Kindahl
 
Using Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud EnvironmentsUsing Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud Environments
ahamilton55
 
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
Chu-Siang Lai
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
Shinya Sugiyama
 

Viewers also liked (20)

Fast Incremental Backups with Percona Server and Percona XtraBackup / PLMCE 2014
Fast Incremental Backups with Percona Server and Percona XtraBackup / PLMCE 2014Fast Incremental Backups with Percona Server and Percona XtraBackup / PLMCE 2014
Fast Incremental Backups with Percona Server and Percona XtraBackup / PLMCE 2014
 
Introducing Xtrabackup Manager
Introducing Xtrabackup ManagerIntroducing Xtrabackup Manager
Introducing Xtrabackup Manager
 
Pquery_presentation_03 2
Pquery_presentation_03 2Pquery_presentation_03 2
Pquery_presentation_03 2
 
Lessons from database failures
Lessons from database failures Lessons from database failures
Lessons from database failures
 
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
 
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
 
Spider DeNA Technology Seminar #2
Spider DeNA Technology Seminar #2Spider DeNA Technology Seminar #2
Spider DeNA Technology Seminar #2
 
Ansible with AWS
Ansible with AWSAnsible with AWS
Ansible with AWS
 
Zabbix+group replication
Zabbix+group replicationZabbix+group replication
Zabbix+group replication
 
Sharding and Scale-out using MySQL Fabric
Sharding and Scale-out using MySQL FabricSharding and Scale-out using MySQL Fabric
Sharding and Scale-out using MySQL Fabric
 
From crash to testcase
From crash to testcaseFrom crash to testcase
From crash to testcase
 
MySQL InnoDB Cluster 미리보기 (remote cluster test)
MySQL InnoDB Cluster 미리보기 (remote cluster test)MySQL InnoDB Cluster 미리보기 (remote cluster test)
MySQL InnoDB Cluster 미리보기 (remote cluster test)
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
 
Nuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWSNuvola: a tale of migration to AWS
Nuvola: a tale of migration to AWS
 
MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리
 
Building Scalable High Availability Systems using MySQL Fabric
Building Scalable High Availability Systems using MySQL FabricBuilding Scalable High Availability Systems using MySQL Fabric
Building Scalable High Availability Systems using MySQL Fabric
 
Using Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud EnvironmentsUsing Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud Environments
 
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
 

Similar to Percona xtrabackup - MySQL Meetup @ Mumbai

Percona XtraBackup - New Features and Improvements
Percona XtraBackup - New Features and ImprovementsPercona XtraBackup - New Features and Improvements
Percona XtraBackup - New Features and Improvements
Marcelo Altmann
 
Online MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupOnline MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackup
Kenny Gryp
 
17398351 sap-system-copy-homcopyv1
17398351 sap-system-copy-homcopyv117398351 sap-system-copy-homcopyv1
17398351 sap-system-copy-homcopyv1
Mmusi Dithotse
 
Testing Delphix: easy data virtualization
Testing Delphix: easy data virtualizationTesting Delphix: easy data virtualization
Testing Delphix: easy data virtualization
Franck Pachot
 
Introduction to Bacula
Introduction to BaculaIntroduction to Bacula
Introduction to BaculaHemant Shah
 
ZDLRA in Action
ZDLRA in ActionZDLRA in Action
ZDLRA in Action
Daniele Massimi
 
Practical solutions for connections administrators
Practical solutions for connections administratorsPractical solutions for connections administrators
Practical solutions for connections administrators
Sharon James
 
Relax and Recover on POWER (Updated 05-2017)
Relax and Recover on POWER (Updated 05-2017)Relax and Recover on POWER (Updated 05-2017)
Relax and Recover on POWER (Updated 05-2017)
Sebastien Chabrolles
 
Collaborate 2012 - RMAN eliminate the mystery
Collaborate 2012 - RMAN eliminate the mysteryCollaborate 2012 - RMAN eliminate the mystery
Collaborate 2012 - RMAN eliminate the mystery
Nelson Calero
 
OpenStack DRaaS - Freezer - 101
OpenStack DRaaS - Freezer - 101OpenStack DRaaS - Freezer - 101
OpenStack DRaaS - Freezer - 101
Trinath Somanchi
 
Lock, Stock and Backup: Data Guaranteed
Lock, Stock and Backup: Data GuaranteedLock, Stock and Backup: Data Guaranteed
Lock, Stock and Backup: Data Guaranteed
Jervin Real
 
Bacula - Backup system
Bacula - Backup systemBacula - Backup system
Bacula - Backup system
Mohammad Parvin
 
Webinar NETGEAR - ReadyRECOVER la soluzione per il backup che permette veloci...
Webinar NETGEAR - ReadyRECOVER la soluzione per il backup che permette veloci...Webinar NETGEAR - ReadyRECOVER la soluzione per il backup che permette veloci...
Webinar NETGEAR - ReadyRECOVER la soluzione per il backup che permette veloci...
Netgear Italia
 
Open Source Backup Conference 2014: Workshop bareos introduction, by Philipp ...
Open Source Backup Conference 2014: Workshop bareos introduction, by Philipp ...Open Source Backup Conference 2014: Workshop bareos introduction, by Philipp ...
Open Source Backup Conference 2014: Workshop bareos introduction, by Philipp ...
NETWAYS
 
"Relax and Recover", an Open Source mksysb for Linux on Power
"Relax and Recover", an Open Source mksysb for Linux on Power"Relax and Recover", an Open Source mksysb for Linux on Power
"Relax and Recover", an Open Source mksysb for Linux on Power
Sebastien Chabrolles
 
Oracle Database Backup
Oracle Database BackupOracle Database Backup
Oracle Database Backup
Handy_Backup
 
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库maclean liu
 
Backups And Recovery
Backups And RecoveryBackups And Recovery
Backups And Recovery
asifmalik110
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
Mark Leith
 

Similar to Percona xtrabackup - MySQL Meetup @ Mumbai (20)

Percona XtraBackup - New Features and Improvements
Percona XtraBackup - New Features and ImprovementsPercona XtraBackup - New Features and Improvements
Percona XtraBackup - New Features and Improvements
 
Online MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupOnline MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackup
 
17398351 sap-system-copy-homcopyv1
17398351 sap-system-copy-homcopyv117398351 sap-system-copy-homcopyv1
17398351 sap-system-copy-homcopyv1
 
Testing Delphix: easy data virtualization
Testing Delphix: easy data virtualizationTesting Delphix: easy data virtualization
Testing Delphix: easy data virtualization
 
Introduction to Bacula
Introduction to BaculaIntroduction to Bacula
Introduction to Bacula
 
Rac on NFS
Rac on NFSRac on NFS
Rac on NFS
 
ZDLRA in Action
ZDLRA in ActionZDLRA in Action
ZDLRA in Action
 
Practical solutions for connections administrators
Practical solutions for connections administratorsPractical solutions for connections administrators
Practical solutions for connections administrators
 
Relax and Recover on POWER (Updated 05-2017)
Relax and Recover on POWER (Updated 05-2017)Relax and Recover on POWER (Updated 05-2017)
Relax and Recover on POWER (Updated 05-2017)
 
Collaborate 2012 - RMAN eliminate the mystery
Collaborate 2012 - RMAN eliminate the mysteryCollaborate 2012 - RMAN eliminate the mystery
Collaborate 2012 - RMAN eliminate the mystery
 
OpenStack DRaaS - Freezer - 101
OpenStack DRaaS - Freezer - 101OpenStack DRaaS - Freezer - 101
OpenStack DRaaS - Freezer - 101
 
Lock, Stock and Backup: Data Guaranteed
Lock, Stock and Backup: Data GuaranteedLock, Stock and Backup: Data Guaranteed
Lock, Stock and Backup: Data Guaranteed
 
Bacula - Backup system
Bacula - Backup systemBacula - Backup system
Bacula - Backup system
 
Webinar NETGEAR - ReadyRECOVER la soluzione per il backup che permette veloci...
Webinar NETGEAR - ReadyRECOVER la soluzione per il backup che permette veloci...Webinar NETGEAR - ReadyRECOVER la soluzione per il backup che permette veloci...
Webinar NETGEAR - ReadyRECOVER la soluzione per il backup che permette veloci...
 
Open Source Backup Conference 2014: Workshop bareos introduction, by Philipp ...
Open Source Backup Conference 2014: Workshop bareos introduction, by Philipp ...Open Source Backup Conference 2014: Workshop bareos introduction, by Philipp ...
Open Source Backup Conference 2014: Workshop bareos introduction, by Philipp ...
 
"Relax and Recover", an Open Source mksysb for Linux on Power
"Relax and Recover", an Open Source mksysb for Linux on Power"Relax and Recover", an Open Source mksysb for Linux on Power
"Relax and Recover", an Open Source mksysb for Linux on Power
 
Oracle Database Backup
Oracle Database BackupOracle Database Backup
Oracle Database Backup
 
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
 
Backups And Recovery
Backups And RecoveryBackups And Recovery
Backups And Recovery
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 

Recently uploaded

Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 

Recently uploaded (20)

Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 

Percona xtrabackup - MySQL Meetup @ Mumbai

  • 1. Percona Xtrabackup Nilnandan Joshi Support Engineer Percona LLC 2014
  • 2. www.percona.com Introduction  Percona Xtrabackup provides a fully open- source, free, high-performance, non-blocking backup system for InnoDB or XtraDB tables  It can also backup MyISAM, Archive, Merge, and other SQL-level objects  It is a reliable, widely-used alternative to Oracle's MySQL Enterprise Backup
  • 3. www.percona.com Features Full Binary Backups Incremental backups Open Source (GPL) Online (non-blocking)* Parallel backups & compression Cost: Free InnoDB & MyISAM Streaming backups MySQL compatibility Compressed backups Compact backups MySQL Forks' support Point-in-time recovery support Export individual tables; restore to a different server MySQL replication & Galera support Incremental backups LRU backups Community Help Throttling OS buffer optimizations Commercial Support Partial Backups Encrypted backups Easy migration
  • 4. www.percona.com Compatibility  Versions <= 2.0 are compatible with : Oracle MySQL 5.0, 5.1, 5.5 and 5.6 Equivalent versions of Percona Server, MariaDB, and Drizzle  Version 2.1 is compatible with: Oracle MySQL 5.1 (plugin version [1] ), 5.5, 5.6 Equivalent versions of Percona Server, MariaDB, and Drizzle [1] The InnoDB Engine plugin 1.0 is distributed -but not enabled- by default. See: http://dev.mysql.com/doc/innodb-plugin/1.0/en/innodb-plugin-installation.html
  • 5. www.percona.com xtrabackup vs. innobackupex  Percona XtraBackup includes two main executables  xtrabackup is the low level binary that handles the creation and consistency checking of InnoDB backups.  innobackupex is a higher-level Perl wrapper for xtrabackup and is also responsible for the rest of the operations, including the backup of other engines  You usually want to use innobackupex
  • 7. www.percona.com Installation The most straightforward way is installing the Percona apt or yum repositories  Then install the package with: - yum install percona-xtrabackup - aptitude update && aptitude install percona- xtrabackup  Other installation options can be found at http://www.percona.com/downloads/XtraBack up/
  • 8. www.percona.com Requirements and Limitations  Only fully supported on Linux machines  innobackupex is a Perl script  Package should take care of all dependencies (Perl interpreter, mysql driver, other libraries)  Local access to the MySQL datadir is required  READ, WRITE and EXECUTE filesystem privileges are needed  This makes xtrabackup incompatible with RDS or some web hosting providers
  • 11. www.percona.com Command Line Execution  Minimal options for a full backup: # innobackupex /path/to/backup/ • Actual backup is stored in a timestamped subdirectory. • It reads the datadir and innodb paths from my.cnf • A more complete set of options: # innobackupex --host=localhost --user=root --password=secret /tmp
  • 12. www.percona.com What it looks like root@nilnandan-Dell-XPS:/var/lib/mysql# sudo innobackupex --user=root --password=root /home/nilnandan/backup 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 140709 13:52:04 innobackupex: Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_group=xtrabackup' as 'root' (using password: YES). 140709 13:52:04 innobackupex: Connected to MySQL server 140709 13:52:04 innobackupex: Executing a version check against the server... 140709 13:52:04 innobackupex: Done.
  • 13. www.percona.com Target Directory root@nilnandan-Dell-XPS:~# ls -al /home/nilnandan/backup/2014-07-09_13-52-04 total 77868 drwxr-xr-x 6 root root 4096 Jul 9 14:28 . drwxrwxr-x 4 nilnandan nilnandan 4096 Jul 9 14:21 .. -rw-r--r-- 1 root root 356 Jul 9 13:52 backup-my.cnf drwx------ 2 root root 4096 Jul 9 13:52 dbtest -rw-r----- 1 root root 79691776 Jul 9 13:52 ibdata1 drwx------ 2 root root 4096 Jul 9 13:52 mysql drwxr-xr-x 2 root root 4096 Jul 9 13:52 performance_schema drwx------ 2 root root 4096 Jul 9 13:52 test -rw-r----- 1 root root 95 Jul 9 13:52 xtrabackup_checkpoints -rw-r--r-- 1 root root 528 Jul 9 13:52 xtrabackup_info -rw-r----- 1 root root 2560 Jul 9 13:52 xtrabackup_logfile root@nilnandan-Dell-XPS:~#
  • 14. www.percona.com Files in Target Directory  Hierarchy of files and directories mirroring the original database structure.  backup-my.cnf: Not a backup of the server configuration. It only contains the minimal InnoDB settings at the time the backup to execute the --apply- log phase  xtrabackup_info: Contains all informations about xtrabackup binary, server version, start and end time of backup, binlog position etc.  xtrabackup_checkpoints: Metadata about the backup (type of backup, lsn, etc.)  xtrabackup_logfile: Data needed for the --apply-log phase
  • 15. www.percona.com Preparation Phase  Before the backup directory can be used, we must:  Make sure that the InnoDB tablespaces have consistent,non-corrupt data  Create new transaction logs  innobackupex executes xtrabackup twice:  First, to do a controlled crash recovery, applying the log entries with xtrabackup's embedded InnoDB. This redoes all written committed transactions and undoes uncommitted ones.  Second, to create the empty logs
  • 16. www.percona.com Preparation Phase (cont)  Only xtrabackup/innobackupex and the backup directory are needed  It can be done on different machine than the original server (we have the xtrabackup binary and the innodb configuration parameters)  Generally, you do it just before restore. If you only do full backups and want to minimize the MTTR (Mean Time To Recover), you can prepare immediately after backup
  • 17. www.percona.com Command Line Execution  The simplest form: $ innobackupex --apply-log /media/backups/2017-07-08_13-22-12  You may specify a memory parameter: $ innobackupex –apply-log --use-memory=4G /media/backups/2017-07-08_13-22-12  this increases the available buffer pool for the recovery phase (100M by default), to improve performance
  • 18. www.percona.com How It Looks Like nilnandan@nilnandan-Dell-XPS:~/backup$ sudo innobackupex --apply-log 2014-07- 09_13-52-04 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 IMPORTANT: Please check that the apply-log run completes successfully. At the end of a successful apply-log run innobackupex prints "completed OK!". 140710 10:06:57 innobackupex: Starting ibbackup with command: xtrabackup --defaults-file="/home/nilnandan/backup/2014-07-09_13-52-04/backup-my.cnf" --defaults-group="mysqld" --prepare --target-dir=/home/nilnandan/backup/2014- 07-09_13-52-04 --tmpdir=/tmp
  • 19. www.percona.com Restore  After --apply-log, we have a consistent full raw backup  We can just move it back to the datadir with standard OS commands once the server is shut down  As a physical backup, restoration is as fast as you can copy the directory contents to the local filesystem  There are specific commands for restoration in XtraBackup
  • 20. www.percona.com Copy Back  The integrated command to restore a backup is: # innobackupex --copy-back /media/backups/2017-07- 08_13-22-12  It complains if the datadir, as read from the config file, is not empty [1] (it will not overwrite existing data)  Only partial restores can be done to a running server  xtrabackup_* files are not needed [1] We can override this behavior with the option --force-non-empty- directories , but it will never overwrite existent files
  • 21. www.percona.com What It Looks Like root@nilnandan-Dell-XPS:~# sudo innobackupex --copy-back /home/nilnandan/backup/2014-07-09_13-52-04/ ... innobackupex: Starting to copy files in '/home/nilnandan/backup/2014-07- 09_13-52-04' innobackupex: back to original data directory '/var/lib/mysql' innobackupex: Copying '/home/nilnandan/backup/2014-07-09_13-52- 04/xtrabackup_info' to '/var/lib/mysql/xtrabackup_info' innobackupex: Creating directory '/var/lib/mysql/mysql' innobackupex: Copying '/home/nilnandan/backup/2014-07-09_13-52- 04/mysql/time_zone_leap_second.frm' to ... innobackupex: Starting to copy InnoDB log files innobackupex: in '/home/nilnandan/backup/2014-07-09_13-52-04' innobackupex: back to original InnoDB log directory '/var/lib/mysql' innobackupex: Copying '/home/nilnandan/backup/2014-07-09_13-52- 04/ib_logfile1' to '/var/lib/mysql/ib_logfile1' innobackupex: Copying '/home/nilnandan/backup/2014-07-09_13-52- 04/ib_logfile0' to '/var/lib/mysql/ib_logfile0' innobackupex: Finished copying back files. 140710 11:04:12 innobackupex: completed OK! root@nilnandan-Dell-XPS:~#
  • 22. www.percona.com Move Back  As an alternative to --copy-back, we can also do: # innobackupex --move-back /media/backups/2017-07- 08_13-22-12  This may be faster or more convenient if the backup is already on the same partition or don't have enough free space
  • 23. www.percona.com Restoring Permissions  After restore, as file permissions are preserved, you will probably have to fix file ownership: # chown -R mysql:mysql /var/lib/mysql  If MySQL cannot write to the data directory or some of it files, it will refuse to start
  • 24. www.percona.com Incremental Backup  Differential & Incremental Backups  Differential backup: saves only the difference in the data since the last full backup  Incremental backup: saves only the difference in the data since the last backup (full or another incremental)  Xtrabackup can perform both, which can lead to an important save in space (and potentially, time), specially if the backups are very frequent or the database is very static
  • 25. www.percona.com Incremental Backup(cont..)  Differential and incremental backups work the same way with xtrabackup:  Every page stores the Log Sequence Number (LSN) when it was last changed  Only pages that have a higher LSN than the base backup (full or incremental) are copied
  • 27. www.percona.com Incremental Backup(cont..)  Restoration of Incremental Backups  On prepare time, the new pages have to be applied in order to the full backup before restore  This is the reason why you want to wait to fully apply the log just before restore time  Uncommitted transactions must not be undone, as they may have finished on a subsequent incremental backup  Intermediate backups have to apply changes with the option --redo-only
  • 29. www.percona.com Partial Backups  When using xtrabackup (or innobackupex), we can filter out some of the tables, effectively copying only some databases or tables  Two main restrictions apply for InnoDB tables:  Original database must use innodb_file_per_table, as xtrabackup works at filesystem level  Recovering individual tables is only possible for MySQL 5.6. Previous versions require Percona XtraDB extensions with tablespace import enabled
  • 30. www.percona.com Partial Backups (cont..)  Command Line Options for Segmented Backups:  --include : Matches the fully qualified name (database.table) against a regular expression  --databases : Matches a list of databases (or tables) separated by spaces.  --tables-file : Matches a list of tables, one per line, stored on the specified file
  • 31. www.percona.com Partial Backups (cont..)  Examples  Backup only the test database:  # innobackupex --include=^test[.] /data/backups  Backup all except the mysql database*: $ mysql -e "SELECT concat(table_schema, '.', table_name) from information_schema.tables WHERE table_schema NOT IN ('mysql', 'performance_schema', 'information_schema')" > /tmp/tables  # innobackupex --tables-file=/tmp/tables /data/backups
  • 32. www.percona.com Streaming  Xtrabackup allows the streaming of the backup files to the UNIX standard output  This allows to post-process them or send them to a remote location while the backup is ongoing
  • 33. www.percona.com Streaming (cont..)  The stream option accepts two parameters:  --stream=tar It sends all files to the standard output in the tar archive format (single file without compression)  --stream=xbstream The standard output will using the new included xbstream format, which allows simultaneous compression, encryption and parallelization  A temporal file path is still required
  • 34. www.percona.com Streaming (cont..)  Using tar: # innobackupex --stream=tar /tmp > backup.tar # innobackupex --stream=tar /tmp | bzip2 - > backup.tar.bz2  To extract, the tar -i option (ignore zeros) must be used: # tar -xivf backup.tar # tar -jxif backup.tar.bz2
  • 35. www.percona.com Streaming (cont..)  Using xbstream # innobackupex --stream=xbstream /tmp > backup.xbstream  To extract, use the xbstream binary provided with Percona Xtrabackup: # xbstream -x < backup.xbstream -C /root
  • 36. www.percona.com Compression  We can use --compress to produce quicklz- compressed files: # innobackupex --compress /media/backups  To decompress, we can use --decompress or qpress* to decompress the individual .qp files manually: # innobackupex --decompress /media/backups/2017-07-08_13-22-12 # find . -name "*.qp" -execdir qpress -d {} . ;
  • 37. www.percona.com Compression and xbstream  The --compress flag can be combined with xbstream (not with tar): # innobackupex --compress --stream=xbstream /tmp > /media/backups/backup.xbstream  Before preparation, we must use first xbstream, then decompress: # xbstream -x -C /media/backups < backup.xbstream # innobackupex --decompress /media/backups
  • 38. www.percona.com Parallel Copy and Compression  If using xbstream, we can use --parallel to archive several files at the same time: # innobackupex --parallel=4 --stream=xbstream /tmp > /media/backups/backup.tar  If we are using compression, we can parallelize the process for each file with –compress-threads # innobackupex --compress --compress-threads=8 --stream=xbstream /tmp > /media/backups/backup.tar
  • 39. www.percona.com Remote Backups  xtrabackup can send automatically the backup files to a remote host by redirecting the output to applications like ssh or netcat: # innobackupex --stream=tar /tmp | ssh user@host "cat - > /media/backups/backup.tar" # ssh user@host "( nc -l 9999 > /media/backups/backup.tar & )" && innobackupex --stream=tar /tmp | nc host 9999
  • 40. www.percona.com Throttling Remote Backups  pv (pipe viewer) utility can be useful for both monitoring and limiting the bandwidth of the copy process  The following limits the transmission to 10MB/s: # innobackupex --stream=tar ./ | pv -q -L10m | ssh user@desthost "cat - > /media/backups/backup.tar"
  • 41. www.percona.com Compact Backups  In order to reduce backup size, we can skip the copy of secondary index pages: # innobackupex --compact /media/backups  The space saved will depend on the size of the secondary indexes. For example: #backup size without --compact 2.0G 2018-02-01_10-18-38 #backup size taken with --compact option 1.4G 2018-02-01_10-29-48
  • 42. www.percona.com Preparing Compact Backups  The downside of compact backups is that the prepare phase will take longer, as the secondary keys have to be regenerated ( --rebuild-indexes ): # cat xtrabackup_checkpoints backup_type = full-backuped from_lsn = 0 to_lsn = 9541454813 last_lsn = 9541454813 compact = 1 # innobackupex --apply-log --rebuild-indexes /media/backups/2017-07-08_13-22-12
  • 43. www.percona.com Rebuilding Indexes  The --rebuild-threads option can be used to speed up the recreation of the keys, by doing it in parallel:  # innobackupex --apply-log --rebuild-indexes --rebuild-threads=8 /media/backups/2017-07-08_13- 22-12  Rebuilding indexes has the side effect of defragmenting them, as they are done in order. We can rebuild regular full-backups, too.
  • 44. www.percona.com Encrypted Backups  Xtrabackup has support for symmetric encryption through the libgcrypt library for both local and xbstream backups  Before using encryption, a key must be generated. For example, to create an SHA256 key:  # openssl enc -aes-256-cbc -pass pass:mypass -P -md sha1 salt=9C8CE740FD0FE6AD key=0A632731C0EABA6131B6683068E04629524FC8F C1E0F69037D5ED03AF126BD0B iv =03E872849A8DA83647A5FCEFDF1C68F2 * Please note that specifying passwords on the command line input is considered insecure.
  • 45. www.percona.com Encrypted Backups (cont..)  We can now use the previous value of iv as our encryption key: $ innobackupex --encrypt=AES256 --encrypt- key="03E872849A8DA83647A5FCEFDF1C68F2" /data/backups  Options: --encryption : Defines the algorithm to be used (supports AES128, AES192 and AES256) --encrypt-key : Defines the encryption key to use directly on the command line. --encrypt-key-file : Defines the encryption key by pointing to a file that contains it. This is recommended over the encrypt-key option
  • 46. www.percona.com Speeding up Encryption  Parallel encryption is possible by encrypting more than one file at a time (--parallel) and using more than one thread for each file (--encrypt-threads): # innobackupex --encrypt=AES256 --encryption-key-file=/media/backups/keyfile --stream=xbstream --encrypt-threads=4 /tmp > /media/backups/backup.xbstream  We can also change the buffer for each encryption thread with --encrypt-chunk-size (default 64K)
  • 47. www.percona.com Decrypting Backups  Before preparing it, the backup must be unarchived (if xbstream was used) and decrypted. We can use --decrypt or do it for each individual .xbscript file using xbscript (included with xtrabackup): # innobackupex --decrypt=AES256 --encrypt-key="A1EDC73815467C083B0869508406637E" /data/backups/2013-08-01_08-31-35/ # for i in `find . -iname "*.xbcrypt"`; do xbcrypt -d --encrypt-key-file=/media/backups/filekey --encrypt-algo=AES256 < $i > $(dirname $i)/$(basename $i .xbcrypt) && rm $i; done  --parallel can speed up the process as well
  • 48. www.percona.com TROUBLESHOOTING AND PERFORMANCE Locking Issues  By default, innobackupex will lock the tables (FTWRL) during the last phase of the backup  You can use --no-lock if you are only backing up InnoDB tables and no DDL are executing on that last Phase*  You can use --no-lock if you backup other engines if no DDLs are executed, and non-innodb tables are not modified (e.g. users are created on the mysql database)*  You can use --rsync to minimize the copy time when locked * Please note that --no-lock also makes impossible to obtain a reliable binary log coordinates.
  • 49. www.percona.com TROUBLESHOOTING AND PERFORMANCE File Not Found 2017-07-08 12:56:56 7f0dfe4737e0 InnoDB: Operating system error number 2 in a file operation. InnoDB: The error means the system cannot find the path specified. 2017-07-08 12:56:56 7f0dfe4737e0 InnoDB: File name ./ibdata1 2017-07-08 12:56:56 7f0dfe4737e0 InnoDB: File operation call: 'open' returned OS error 71. 2017-07-08 12:56:56 7f0dfe4737e0 InnoDB: Cannot continue operation. innobackupex: Error: ibbackup child process has died at /usr/bin/ innobackupex line 389.  Set a correct datadir option on /etc/my.cnf
  • 50. www.percona.com TROUBLESHOOTING AND PERFORMANCE Permission Denied InnoDB: read-write can't be opened in ./ibdata1 mode xtrabackup: Could not open or create data files. [...] xtrabackup: error: xb_data_files_init() failed witherror code 1000 innobackupex: Error: ibbackup child process has died at /usr/bin/ innobackupex line 389. innobackupex: Error: Failed to create backup directory /backups/ 2017-07-08_12-19-01: Permission denied at /usr/bin/innobackupex line 389.  Use the Linux root user or any other account with read/write permissions on datadir and on target-dir
  • 51. www.percona.com TROUBLESHOOTING AND PERFORMANCE MySQL Does Not Start After Recovery Starting MySQL server... FAILED The server quit without updating PID file  Did you change file permissions of the files to the mysql user?  Did you remember to apply the log before restart? Failing to do so can also corrupt the backup.  Did you restore an appropriate my.cnf file? Previous versions of MySQL (< 5.6) do not start if transaction log files have a different size than specified/default
  • 52. www.percona.com TROUBLESHOOTING AND PERFORMANCE The Backup Takes Too Long  As MySQL performs physical backups, the speed should be close to to a filesystem copy. If IO impact is not a concern, we can speed it up by:  Using parallelization ( --parallel , --compression- threads , --encrypt-threads , --rebuild-threads )  Using compression ( --compress ) if the extra CPU compensates the lower bandwidth required  Using incremental backups (specially with Percona extensions) to perform rolling full backups