SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
MySQL Enterprise Backup
Fast, Consistent, Online Backups
<Insert Picture Here>

MySQL Enterprise Backup
The preceding is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into any
contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
Agenda

•
•
•
•

Database Backup Overview
MySQL Enterprise Backup: Features & Benefits
Database Backup Types: Comparison
MySQL Enterprise Backup: How it Works
Database Backup Overview
DBA Challenge

• Core responsibility for backup and recovery
• But, its not easy
– Databases are growing exponentially
– Backup times are increasing even faster
• Your Backups impact other activities
– End Users
– DBA Maintenance

• And your storage costs are out of control
• And when bad things happen
• Needs to work
• Taking forever to recover
Database Backup: Terms
• Online Backup (aka “Hot” or “Online”)
– Backup while database is running
– Zero business interruption during backups

• Incremental Backup
– Backup of data that has changed since the last full backup.

• Partial Backup
– Backup of select tables

• Consistent Point in Time Recovery
– Restoring a database with data in a consistent state at a date
and time

• Roll Forward Recovery
– Recovery that restores a database to a specific date and
time.
Most Critical Questions to Ask First
• What are my recovery requirements?
– Assess tolerance for data loss: Recovery Point Objective (RPO)
• How frequently should backups be taken?
• Is point-in-time recovery required?
– Assess tolerance for downtime: Recovery Time Objective (RTO)
• Downtime: Problem identification + recovery planning +
systems recovery
• Tiered RTO per level of granularity, e.g. database, tablespace,
table, row
– Determine backup retention policy
• Onsite, offsite, long-term

• How Does MySQL Enterprise Backup strategy fulfill
those requirements?
Backup Method 1: Full

• Well Suited for:
– Databases that can tolerate hours/days RTO
– Medium-High change between backups (e.g. over 30%)
– Environments where disk can be allocated for 1x size of database

• Backup Strategy
– Full backups with optional backup compression
– Full backup archived to tape, as needed
Backup Method 2: Full + Incremental
• Well suited for
– Databases that can tolerate no more than a few hours RTO
– Environments where disk can be allocated for 1x size of database

• Backup strategy
–
–
–
–

Occasional Full backup, followed by more frequent incremental
To recover - apply Full and then applying 1 or more Incremental
Full backups archived to tape, as needed
Incremental Backups retained on-disk, as needed
Backup Method 3: Full + Incremental + Log
• Well suited for
– Databases that can tolerate no more than a few minutes RTO
– Environments where disk can be allocated for more than1x size of
database

• Backup strategy
–
–
–
–
–
–

Initial full backup, followed by incremental backups
Backup Transaction Logs
To recover - apply Full and then applying 1 or more Incremental
Finally Roll Forward with Transaction Log to “minute” desired.
Full backups and incrementals archived to tape, as needed
Logs are backup up and retained on-disk, as needed
Backup Method 4: Offload Backups to Slave
(Replication)
• Well Suited for:
– Databases that require no more than several minutes of
recovery time, in event of failure
– Environments that can preferably allocate symmetric
hardware and storage for physical standby database
– Environments whose backup storage infrastructure can be
shared between master and slave database sites

• Backup Strategy
–
–
–
–
–

Setup Master / Slave replication
Slave acts as physical standby database
Run full and incremental backup on slave
Backup can be restored to master or slave database
Backups can be taken at each database for optimal
protection
Determining Backup Strategy
Low Value Data

High Value Data
F: Daily
A: Replication,
Backup on Slave

F: Weekly
I: Daily

F: Daily
F: Daily

I: Hourly

I: Hourly

Low Change

Change Frequency

I: Hourly

A: Binlog Backups: 5 min

F: Monthly
F: Full
I: Incremental
A: Additional

I: Weekly

F: Weekly
I: Daily
F: Monthly

Value of Data

High Change
Backup Strategies Comparison
Method

Backup Factors

Recovery Factors

Method 1:
Full Backups

• Longest Backup Times
• Largest Storage Space
• Save space with compression

• Easy to Recover
• Fastest Restore Times

Method 2:
Full + Incremental
Backup

• Shortest Backup Time
• Reduced Storage Requirements
• Requires 1X production storage
for copy

• Finer-grained Recovery
• Slower Restore Times
• First Restore Full Backup
• Then Restore Incrementals

Method 3:
Full + Incremental +
Log Backup

• Added Storage Requirements
• Requires more than 1X
production storage for copy

• Finest-grained Recovery
• Slowest Restore Times
• First Restore Full Backup
• Then Restore Incrementals
• Then Apply Logs

Method 4:
• Used with 1 of the above
Offload Backups Slave • Frees Master for more workload
Replication
• Requires 1X production hardware
and storage for standby database

• Fast failover to standby
• Backups are last resort, in
event of double site failure
or need to perform PITR
MySQL Enterprise Backup
Features & Benefits
MySQL Server Features

- Online Backup is the #1 most requested feature for MySQL Enterprise Customers
MySQL Backup Concerns

- Backup & Recovery Performance is the #1 Concern
MySQL Enterprise Backup
•
•
•
•
•
•
•
•
•
•

Online Backup for InnoDB
Support for MyISAM (Read-only)
High Performance Backup & Restore
Compressed Backup
Full Backup
Incremental Backup
Partial Backups
Point in Time Recovery
Unlimited Database Size
Cross-Platform
– Windows, Linux, Unix
Benefits
• Online “Hot” Backup (Non-blocking)
– Reads and Writes to InnoDB
– Reads for MyISAM tables

• High Performance
– Backup: >3x faster than mysqldump (export)
– Restore: >10x than mysqldump recovery

• Consistent Backups
– Point in Time Recovery

• Compression
– Multi-level compression
– Save 70% or more of the storage required
Benefits
• Reliable
– Proven for 7+ Years

• Scalable for Large Databases
– No Database Size Limitations

• Easy to automate
– Easily integrate within various scheduling systems
– Examples: cron, OSB scheduler, others
MySQL Enterprise Backup 3.5: New Features
• Incremental backup
• Support of InnoDB Barracuda file format
• Backup of compressed tables
• Backup of partition files
• Backup of in-memory database
• with --exec-when-locked option
• Adds mysql system tables to keep backup status,
progress, and history
High Performance Backups

Backups are up to 3.5x Faster than MySQL Dump
High Performance Restore

Restore is up to 16x Faster than MySQL Dump
- mysqldump performance is non-linear (more table/indexes impacts performance)
- MySQL Enterprise performance is near linear
Backup Compression Storage Savings

Backup size reduced from 65% up to 93%
Database Backup Types
Advantages & Disadvantages
MySQL Backup Tools
•

Hot Backup (online)
– MySQL Enterprise Backup

•

Export/Import (portable copies – a logical backup)
– mysqldump

•

Standby Copy (hot swap)
•

•

MySQL Replication

Cold Backup (offline)
– Simple File Copies when server is shutdown

•

File System Volume Managers (snapshots)
– LVM for example - create snapshot copy
mysqldump

• Advantages
– Good for small databases or tables
– Good assurance that database files are not corrupt
– Logical Backup – thus flexible and portable

• Disadvantages
– Very slow restore times
– Uses database processing cycles and resources
– Not Online (requires Transaction or Locks on Tables in the
database)
– Not Incremental (requires a Full Backup every time)
– Not Consistent (unless transaction is used)
MySQL Replication

• Advantages
–
–
–
–

Rolling “snapshot”
Quick Recovery - via failover
Non-Blocking
Works well in conjunction with other backup options

• Disadvantages
–
–
–
–

Only latest “Point in Time” (point it time keeps moving forward)
Not historical
Not for archival purposes
Doesn’t protect from “oops”
LVM Snapshots

• Advantages
– Quick
– Feature of Linux
– Good to use in conjunction with backups

• Disadvantages
– It’s a snapshot
– Still need to make a backup copy – which is “full” in size
– Performance degrades with each concurrent snapshot
– Snapshots need to be released
– Cross File System Limitations
MySQL Enterprise Backup

• Advantages
–
–
–
–
–
–

Physical Backup so Fast – esp. restores
Flexible - many options
Archival
Scalable
Consistent
Supported

• Disadvantages
• Requires some planning
MySQL Backup Types: Comparison
mysqldump

LVM Snapshots

MySQL
Replication

MySQL Enterprise
Backup

Full Backup

✔

✔

✔

✔

Incremental
Backups

✖

✔

✖

✔

Partial Backups

✔

✖

✖

✔

Compression
Support

✖

✖

✖

✔

Allows updates

✖

✖

✔

✔

Point in Time Consistent

✖

✔

✔

✔

Backup Speed

Poor

Good

Very Good

Very Good

Very Poor

Good

Very Good

Very Good

Partial Restore

✔

✖

✖

✔

Corruption
Detection

✔

✖

✖

✔

Meets Regulatory
Archive Req.

✔

✖

✖

✔

Supports DDL

✔

✖

✖

✔

Recovery Speed
MySQL Enterprise Backup
How it Works
MySQL Enterprise Backup
• MySQL Enterprise Backup CLI
• MySQL Enterprise Monitor
• Oracle Secure Backup

Intrinsic knowledge of
database file formats
• Block Validation
Media Manager

(like Oracle Secure Backup)

• Tablespace/Data file
recovery
• Unused Block
Compression
• Consistent Recovery
• File Compression

Database

Quickly
Accessible
Disk Storage

Tape
Archive
MySQL Enterprise Backup: Terms

• mysqlbackup : backup executable which includes InnoDB, MyISAM
and other MySQL Data. mysqlbackup is a compatible replacement
for the innobackup post 3.5.1 and includes additional features and
capabilites
• ibbackup: finer grained raw innodb backup executable for innodb
files alone
• binlog: contains database changes – eg DDL and DML
• LSN: Log Sequence Number – the unique monotonically increasing
id for each change in the binlog
• Ibdata: system tablespace files
• .ibd: single table space file
How it Works: Backup for InnoDB
• Step 1: Backing Up InnoDB Data Files
– Copies and compresses InnoDB data files
• System Database (ibdata) & Single-table Tablespaces (.ibd)
– Produces “Fuzzy Backup
• Backup of data files doesn’t correspond to any specific log
sequence number (LSN)
• Different database pages are copied at varying times
ibbackup
1. InnoDB
Tables & Indexes
MEB Backup
Files

MySQL
Database
Files
How it Works: Backing Up InnoDB Data Files
Newest LSN

InnoDB
data
file
compressed
data file

L
S
N

data

L
S
N

L
S
N

data

data

L
S
N

L
S
N

data

Oldest LSN

data

L
S
N

data

L
S
N

L
S
N

data

data

L
S
N

L
S
N

data

data

L
S
N

data

L
S
N

data

L
S
N

L
S
N

data

data

• Backup files size is reduced by 70%
– Omits unused storage in each block, empty pages

• Produces “Fuzzy Backup”
• Notes earliest and latest Log Sequence Number (LSN)
How it Works: Backup for InnoDB
• Step 2: Backing up InnoDB Log Files
– Copies Log Records accumulated during data file copy
– All redo records with LSNs during data file copy

ibbackup
1. InnoDB
Tables & Indexes
MEB Backup
Files

2. Log Files

MySQL
Database
Files
How it Works: Backing up InnoDB Log Files
Log File
Earliest needed
redo info
L
S
N

redo
info

L
S
N

redo
info

L
S
N

redo
info

Last needed
redo info
L
S
N

redo
info

L
S
N

redo
info

L
S
N

redo
info

ibbackup_logfile
L
S
N
Oldest LSN

Log file w/relevant redo

L
S
N
Newest LSN

• Copies portion of the log file that contains all required redo
information
• Covers the time from beginning to end of data backup
• Recovers all data blocks modified after copied to compressed data
file
Full & Partial Backups
• Backup contains all tables in
system tablespace
– Plus those separate tables that
match the pattern

• When using “file per table”,
you can backup a subset of
InnoDB tables
– Tables included in the backup
are specified with regular
expressions
– Use the -- include option

Full Backup
Table A

Multiple tables &
indexes in the
system tablespace
(ibdata files)

Table B

Table C

Partial Backup
One table &
indexes per file
(.ibd files)

Table D
Table E

Table F
mysqlbackup – Usage Syntax

mysqlbackup [--sleep=MS] [--compress[=LEVEL]] [--include=REGEXP]
[--user=WORD][--password=WORD] [--port=PORT]
[--socket=SOCKET] [--no-timestamp]
[--ibbackup=IBBACKUP-BINARY] [--slave-info]
[--backup-and-apply-log] [--databases=LIST]
[--exec-when-locked="utility arg1 arg2 ..."]
[--incremental --lsn=LSN]
[--only-known-file-types]
MY.CNF BACKUP-ROOT-DIR
mysqlbackup --apply-log [--use-memory=MB] [--uncompress]
[--ibbackup=IBBACKUP-BINARY] MY.CNF BACKUP-DIR
mysqlbackup --apply-log --incremental [--use-memory=MB] [--uncompress]
[--ibbackup=IBBACKUP-BINARY]
INCREMENTAL-BACKUP-MY.CNF FULL-BACKUP-MY.CNF
mysqlbackup --copy-back MY.CNF BACKUP-DIR
mysqlbackup (innobackup) Examples

• Full Backup
mysqlbackup --user=dba --password=xyz --compress /etc/my.cnf /backups

• Incremental Backup
– The backup only contains changed data
mysqlbackup --incremental --lsn 2261747124 /etc/my.cnf /incr-backup

• Partial
– The backup contains tables in test database that match the .ib.* regular
expression.
mysqlbackup --include 'test.ib.*' /etc/my.cnf /backups
How mysqlbackup Works

SQL:
“FLUSH
TABLES
WITH READ
LOCK”

mysqlbackup
Exec’s

MySQL
Command-line
Client

ibbackup
InnoDB
Tables & Indexes

Hot Backup
Files

MyISAM
Tables & Indexes,
.frm, & .mrg files

MySQL
Database
Files

Flush, Lock

SQL

MySQL
Server
Tips: InnoDB and MyISAM Backup

• InnoDB tables are fully accessible during backup
– Insert, Update & Delete

• MyISAM tables cannot be updated during backup
– Uses FLUSH TABLES WITH READ LOCK near the end of the
backup

• Works best if …
– Wait for insert/update/delete transactions during MyISAM backup
– Do not run long SELECT queries during the backup
– MyISAM tables are small, thus copied quickly
ibbackup – Usage Syntax – strictly innodb

Usage:
ibbackup [--incremental lsn]
[--sleep ms] [--suspend-at-end] [--compress
[level]]
[--include regexp] my.cnf backup-my.cnf
or
ibbackup --apply-log
[--use-memory mb] [--uncompress]
backup-my.cnf
or
ibbackup --apply-log --incremental
[--use-memory mb] [--uncompress]
incremental-backup-my.cnf full-backup-my.cnf
Typical ibbackup Backup/Restore Steps

•Take Backup'
– ibbackup my.cnf backup.cnf
•Prepare backup for restore
– ibbackup –apply-log backup.cnf
•Copy innodb backup files to mysqld datadir
•Start mysqld
•Performs recovery during startup
Examples : Take Backup details
• ibbackup my.cnf backup.cnf
Example my.cnf
[mysqld]
datadir = /production/var
innodb_data_home_dir = /production/var
innodb_log_group_home_dir = /production/var
innodb_data_file_path =ibdata1:32M;ibdata2:32M:autoextend
innodb_log_files_in_group = 3
innodb_log_file_size = 32M
Example backup.cnf
datadir = /backup
innodb_log_group_home_dir = /backup
innodb_data_home_dir = /backup
innodb_data_file_path = ibdata1:32M;ibdata2:32M:autoextend
innodb_log_files_in_group = 3
innodb_log_file_size = 32M
Tips: “Raw Backup” Files

• The “raw backup” files from backup phase cannot be
directly consumed by MySQL
• These files can be copied to media
• The database must be “restored” first
• Use mysqlbackup to restore database before use
Compressed copy of
InnoDB data file(s)
ibbackup_logfile
Copy of MyISAM, frm, .mrg files

Raw Backup Files
How it Works: Restoring a Database
MySQL data dir

Compressed copy of
InnoDB data file(s)
1. Uncompresses InnoDB
files to data dir

InnoDB
data files

2. Recreates InnoDB Log
files

log files

MyISAM,
.frm, .mrg
files

ibbackup_logfile
3. Applies log, so InnoDB
files are consistent

4. Restores MyISAM and
other files

Copy of MyISAM, frm, .mrg files
Restoring a Database Con’t…

• MEB restore rolls forward data files to a common
point in time (the time at the end of backup)
• After restore, MEB Backup prints the location in the
binlog for the next SQL operation that executed after
the backup completed
• Note: the restore phase need not run on database
server host
– You can perform recovery on any machine, and copy
recovered files to your database server host
Backup and Roll forward “Log” Recovery

• Also known as log archiving or log backups
• Add executing mysqlbinlog to copy logs to your full
and incremental backup schedules
• Restore Full and Incremental as previously described
• Roll forward using binlog from the final lsn to the lsn
for the desired recovery point in time
Roll Forward Backup and Recovery

• Log Backup
– Use mysqlbinlog to make a continuous backup of the binary
log
– mysqlbinlog --read-from-remote-server --host=host_name
--raw --stop-never binlog.000999

• Restore
– If data loss occurs (for example, if the server crashes),
restore the most recent MEB backup
– Edit output file to truncate at desired point
– Note end lsn and use for roll forward start position
• mysqlbinlog --start-position=27284 binlog.001002
binlog.001003 binlog.001004 | mysql --host=host_name -u
root -p
Additional Resources

• Product Information
http://www.mysql.com/products/enterprise/backup.html

• Documentation
http://dev.mysql.com/doc/mysql-enterprise-backup/3.5/en/index.html

• Backup Forum
http://forums.mysql.com/list.php?28

• Download (30 Day Trial)
http://edelivery.oracle.com/
Q
&
A
QUESTIONS
ANSWERS

Más contenido relacionado

La actualidad más candente

Understanding PostgreSQL LW Locks
Understanding PostgreSQL LW LocksUnderstanding PostgreSQL LW Locks
Understanding PostgreSQL LW Locks
Jignesh Shah
 
MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016
Wagner Bianchi
 

La actualidad más candente (20)

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
 
Introducing Galera 3.0
Introducing Galera 3.0Introducing Galera 3.0
Introducing Galera 3.0
 
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
 
MariaDB MaxScale
MariaDB MaxScaleMariaDB MaxScale
MariaDB MaxScale
 
Histograms in MariaDB, MySQL and PostgreSQL
Histograms in MariaDB, MySQL and PostgreSQLHistograms in MariaDB, MySQL and PostgreSQL
Histograms in MariaDB, MySQL and PostgreSQL
 
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdfMySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
 
MariaDB, MySQL and Ansible: automating database infrastructures
MariaDB, MySQL and Ansible: automating database infrastructuresMariaDB, MySQL and Ansible: automating database infrastructures
MariaDB, MySQL and Ansible: automating database infrastructures
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centers
 
Proxysql sharding
Proxysql shardingProxysql sharding
Proxysql sharding
 
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
 
MariaDB 10.5 binary install (바이너리 설치)
MariaDB 10.5 binary install (바이너리 설치)MariaDB 10.5 binary install (바이너리 설치)
MariaDB 10.5 binary install (바이너리 설치)
 
MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
MySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB StatusMySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB Status
 
Understanding PostgreSQL LW Locks
Understanding PostgreSQL LW LocksUnderstanding PostgreSQL LW Locks
Understanding PostgreSQL LW Locks
 
Always on in sql server 2017
Always on in sql server 2017Always on in sql server 2017
Always on in sql server 2017
 
MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016
 

Destacado

MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例
郁萍 王
 
MySQL 網路參考架構
MySQL 網路參考架構MySQL 網路參考架構
MySQL 網路參考架構
郁萍 王
 

Destacado (10)

MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例
 
MySQL 網路參考架構
MySQL 網路參考架構MySQL 網路參考架構
MySQL 網路參考架構
 
MySQL EXPLAIN Explained-Norvald H. Ryeng
MySQL EXPLAIN Explained-Norvald H. RyengMySQL EXPLAIN Explained-Norvald H. Ryeng
MySQL EXPLAIN Explained-Norvald H. Ryeng
 
MySQL 5.6 Updates
MySQL 5.6 UpdatesMySQL 5.6 Updates
MySQL 5.6 Updates
 
Overview of Optimizer Features in 5.6 and 5.7-Manyi Lu
Overview of Optimizer Features in 5.6 and 5.7-Manyi LuOverview of Optimizer Features in 5.6 and 5.7-Manyi Lu
Overview of Optimizer Features in 5.6 and 5.7-Manyi Lu
 
Raising The MySQL Bar-Manyi Lu
Raising The MySQL Bar-Manyi LuRaising The MySQL Bar-Manyi Lu
Raising The MySQL Bar-Manyi Lu
 
MySQL 5.7 GIS-Norvald H. Ryeng
MySQL 5.7 GIS-Norvald H. RyengMySQL 5.7 GIS-Norvald H. Ryeng
MySQL 5.7 GIS-Norvald H. Ryeng
 
More mastering the art of indexing
More mastering the art of indexingMore mastering the art of indexing
More mastering the art of indexing
 
MySQL Performance Tips & Best Practices
MySQL Performance Tips & Best PracticesMySQL Performance Tips & Best Practices
MySQL Performance Tips & Best Practices
 
MySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 TipsMySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 Tips
 

Similar a MySQL enterprise backup overview

Dueling duplications RMAN vs Delphix
Dueling duplications RMAN vs DelphixDueling duplications RMAN vs Delphix
Dueling duplications RMAN vs Delphix
Kyle Hailey
 
Data and database administration(database)
Data and database administration(database)Data and database administration(database)
Data and database administration(database)
welcometofacebook
 
Backing up your virtual environment best practices
Backing up your virtual environment   best practicesBacking up your virtual environment   best practices
Backing up your virtual environment best practices
Interop
 
The Sun ZFS Backup Appliance
The Sun ZFS Backup ApplianceThe Sun ZFS Backup Appliance
The Sun ZFS Backup Appliance
omnidba
 

Similar a MySQL enterprise backup overview (20)

MySQL Enterprise Backup
MySQL Enterprise BackupMySQL Enterprise Backup
MySQL Enterprise Backup
 
Presentation backup and recovery best practices for very large databases (v...
Presentation   backup and recovery best practices for very large databases (v...Presentation   backup and recovery best practices for very large databases (v...
Presentation backup and recovery best practices for very large databases (v...
 
Backup and recovery
Backup and recoveryBackup and recovery
Backup and recovery
 
Backup_exadata_update
Backup_exadata_updateBackup_exadata_update
Backup_exadata_update
 
A Backup Today Saves Tomorrow
A Backup Today Saves TomorrowA Backup Today Saves Tomorrow
A Backup Today Saves Tomorrow
 
Presentation recovery manager (rman) configuration and performance tuning ...
Presentation    recovery manager (rman) configuration and performance tuning ...Presentation    recovery manager (rman) configuration and performance tuning ...
Presentation recovery manager (rman) configuration and performance tuning ...
 
Exchange Server 2013 : les mécanismes de haute disponibilité et la redondance...
Exchange Server 2013 : les mécanismes de haute disponibilité et la redondance...Exchange Server 2013 : les mécanismes de haute disponibilité et la redondance...
Exchange Server 2013 : les mécanismes de haute disponibilité et la redondance...
 
Dueling duplications RMAN vs Delphix
Dueling duplications RMAN vs DelphixDueling duplications RMAN vs Delphix
Dueling duplications RMAN vs Delphix
 
Data and database administration(database)
Data and database administration(database)Data and database administration(database)
Data and database administration(database)
 
KoprowskiT_SQLDay2016_2AMaDisasterJustBegan
KoprowskiT_SQLDay2016_2AMaDisasterJustBeganKoprowskiT_SQLDay2016_2AMaDisasterJustBegan
KoprowskiT_SQLDay2016_2AMaDisasterJustBegan
 
KoprowskiT_PASSEastMidsFEB16_2AMaDisasterJustBegan
KoprowskiT_PASSEastMidsFEB16_2AMaDisasterJustBeganKoprowskiT_PASSEastMidsFEB16_2AMaDisasterJustBegan
KoprowskiT_PASSEastMidsFEB16_2AMaDisasterJustBegan
 
Backing up your virtual environment best practices
Backing up your virtual environment   best practicesBacking up your virtual environment   best practices
Backing up your virtual environment best practices
 
Backups And Recovery
Backups And RecoveryBackups And Recovery
Backups And Recovery
 
The Sun ZFS Backup Appliance
The Sun ZFS Backup ApplianceThe Sun ZFS Backup Appliance
The Sun ZFS Backup Appliance
 
Backing up the virtual datacentre. Charlie Llewellyn and Andy Powell from Edu...
Backing up the virtual datacentre. Charlie Llewellyn and Andy Powell from Edu...Backing up the virtual datacentre. Charlie Llewellyn and Andy Powell from Edu...
Backing up the virtual datacentre. Charlie Llewellyn and Andy Powell from Edu...
 
KoprowskiT_SQLSatMoscow_2AMaDisaterJustBegan
KoprowskiT_SQLSatMoscow_2AMaDisaterJustBeganKoprowskiT_SQLSatMoscow_2AMaDisaterJustBegan
KoprowskiT_SQLSatMoscow_2AMaDisaterJustBegan
 
Backup & Recovery
Backup & RecoveryBackup & Recovery
Backup & Recovery
 
Rman Presentation
Rman PresentationRman Presentation
Rman Presentation
 
05. performance-concepts
05. performance-concepts05. performance-concepts
05. performance-concepts
 
High availability and disaster recovery in IBM PureApplication System
High availability and disaster recovery in IBM PureApplication SystemHigh availability and disaster recovery in IBM PureApplication System
High availability and disaster recovery in IBM PureApplication System
 

Más de 郁萍 王

MySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 ReviewMySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 Review
郁萍 王
 
From Nice to Have to Mission Critical: MySQL Enterprise Edition
From Nice to Have to Mission Critical: MySQL Enterprise EditionFrom Nice to Have to Mission Critical: MySQL Enterprise Edition
From Nice to Have to Mission Critical: MySQL Enterprise Edition
郁萍 王
 
MySQL5.6新功能
MySQL5.6新功能MySQL5.6新功能
MySQL5.6新功能
郁萍 王
 
MySQL Workbench
MySQL WorkbenchMySQL Workbench
MySQL Workbench
郁萍 王
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
郁萍 王
 
MySQL enterprise edition backup
MySQL enterprise edition backupMySQL enterprise edition backup
MySQL enterprise edition backup
郁萍 王
 

Más de 郁萍 王 (10)

MySQL cluster workshop
MySQL cluster workshopMySQL cluster workshop
MySQL cluster workshop
 
MySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 ReviewMySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 Review
 
From Nice to Have to Mission Critical: MySQL Enterprise Edition
From Nice to Have to Mission Critical: MySQL Enterprise EditionFrom Nice to Have to Mission Critical: MySQL Enterprise Edition
From Nice to Have to Mission Critical: MySQL Enterprise Edition
 
MySQL5.6新功能
MySQL5.6新功能MySQL5.6新功能
MySQL5.6新功能
 
MySQL Workbench
MySQL WorkbenchMySQL Workbench
MySQL Workbench
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
MySQL enterprise edition backup
MySQL enterprise edition backupMySQL enterprise edition backup
MySQL enterprise edition backup
 
MySQL culster
MySQL culsterMySQL culster
MySQL culster
 
About MySQL
About MySQLAbout MySQL
About MySQL
 
MySQL
MySQLMySQL
MySQL
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

MySQL enterprise backup overview

  • 1. MySQL Enterprise Backup Fast, Consistent, Online Backups <Insert Picture Here> MySQL Enterprise Backup
  • 2. The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 3. Agenda • • • • Database Backup Overview MySQL Enterprise Backup: Features & Benefits Database Backup Types: Comparison MySQL Enterprise Backup: How it Works
  • 5. DBA Challenge • Core responsibility for backup and recovery • But, its not easy – Databases are growing exponentially – Backup times are increasing even faster • Your Backups impact other activities – End Users – DBA Maintenance • And your storage costs are out of control • And when bad things happen • Needs to work • Taking forever to recover
  • 6. Database Backup: Terms • Online Backup (aka “Hot” or “Online”) – Backup while database is running – Zero business interruption during backups • Incremental Backup – Backup of data that has changed since the last full backup. • Partial Backup – Backup of select tables • Consistent Point in Time Recovery – Restoring a database with data in a consistent state at a date and time • Roll Forward Recovery – Recovery that restores a database to a specific date and time.
  • 7. Most Critical Questions to Ask First • What are my recovery requirements? – Assess tolerance for data loss: Recovery Point Objective (RPO) • How frequently should backups be taken? • Is point-in-time recovery required? – Assess tolerance for downtime: Recovery Time Objective (RTO) • Downtime: Problem identification + recovery planning + systems recovery • Tiered RTO per level of granularity, e.g. database, tablespace, table, row – Determine backup retention policy • Onsite, offsite, long-term • How Does MySQL Enterprise Backup strategy fulfill those requirements?
  • 8. Backup Method 1: Full • Well Suited for: – Databases that can tolerate hours/days RTO – Medium-High change between backups (e.g. over 30%) – Environments where disk can be allocated for 1x size of database • Backup Strategy – Full backups with optional backup compression – Full backup archived to tape, as needed
  • 9. Backup Method 2: Full + Incremental • Well suited for – Databases that can tolerate no more than a few hours RTO – Environments where disk can be allocated for 1x size of database • Backup strategy – – – – Occasional Full backup, followed by more frequent incremental To recover - apply Full and then applying 1 or more Incremental Full backups archived to tape, as needed Incremental Backups retained on-disk, as needed
  • 10. Backup Method 3: Full + Incremental + Log • Well suited for – Databases that can tolerate no more than a few minutes RTO – Environments where disk can be allocated for more than1x size of database • Backup strategy – – – – – – Initial full backup, followed by incremental backups Backup Transaction Logs To recover - apply Full and then applying 1 or more Incremental Finally Roll Forward with Transaction Log to “minute” desired. Full backups and incrementals archived to tape, as needed Logs are backup up and retained on-disk, as needed
  • 11. Backup Method 4: Offload Backups to Slave (Replication) • Well Suited for: – Databases that require no more than several minutes of recovery time, in event of failure – Environments that can preferably allocate symmetric hardware and storage for physical standby database – Environments whose backup storage infrastructure can be shared between master and slave database sites • Backup Strategy – – – – – Setup Master / Slave replication Slave acts as physical standby database Run full and incremental backup on slave Backup can be restored to master or slave database Backups can be taken at each database for optimal protection
  • 12. Determining Backup Strategy Low Value Data High Value Data F: Daily A: Replication, Backup on Slave F: Weekly I: Daily F: Daily F: Daily I: Hourly I: Hourly Low Change Change Frequency I: Hourly A: Binlog Backups: 5 min F: Monthly F: Full I: Incremental A: Additional I: Weekly F: Weekly I: Daily F: Monthly Value of Data High Change
  • 13. Backup Strategies Comparison Method Backup Factors Recovery Factors Method 1: Full Backups • Longest Backup Times • Largest Storage Space • Save space with compression • Easy to Recover • Fastest Restore Times Method 2: Full + Incremental Backup • Shortest Backup Time • Reduced Storage Requirements • Requires 1X production storage for copy • Finer-grained Recovery • Slower Restore Times • First Restore Full Backup • Then Restore Incrementals Method 3: Full + Incremental + Log Backup • Added Storage Requirements • Requires more than 1X production storage for copy • Finest-grained Recovery • Slowest Restore Times • First Restore Full Backup • Then Restore Incrementals • Then Apply Logs Method 4: • Used with 1 of the above Offload Backups Slave • Frees Master for more workload Replication • Requires 1X production hardware and storage for standby database • Fast failover to standby • Backups are last resort, in event of double site failure or need to perform PITR
  • 15. MySQL Server Features - Online Backup is the #1 most requested feature for MySQL Enterprise Customers
  • 16. MySQL Backup Concerns - Backup & Recovery Performance is the #1 Concern
  • 17. MySQL Enterprise Backup • • • • • • • • • • Online Backup for InnoDB Support for MyISAM (Read-only) High Performance Backup & Restore Compressed Backup Full Backup Incremental Backup Partial Backups Point in Time Recovery Unlimited Database Size Cross-Platform – Windows, Linux, Unix
  • 18. Benefits • Online “Hot” Backup (Non-blocking) – Reads and Writes to InnoDB – Reads for MyISAM tables • High Performance – Backup: >3x faster than mysqldump (export) – Restore: >10x than mysqldump recovery • Consistent Backups – Point in Time Recovery • Compression – Multi-level compression – Save 70% or more of the storage required
  • 19. Benefits • Reliable – Proven for 7+ Years • Scalable for Large Databases – No Database Size Limitations • Easy to automate – Easily integrate within various scheduling systems – Examples: cron, OSB scheduler, others
  • 20. MySQL Enterprise Backup 3.5: New Features • Incremental backup • Support of InnoDB Barracuda file format • Backup of compressed tables • Backup of partition files • Backup of in-memory database • with --exec-when-locked option • Adds mysql system tables to keep backup status, progress, and history
  • 21. High Performance Backups Backups are up to 3.5x Faster than MySQL Dump
  • 22. High Performance Restore Restore is up to 16x Faster than MySQL Dump - mysqldump performance is non-linear (more table/indexes impacts performance) - MySQL Enterprise performance is near linear
  • 23. Backup Compression Storage Savings Backup size reduced from 65% up to 93%
  • 25. MySQL Backup Tools • Hot Backup (online) – MySQL Enterprise Backup • Export/Import (portable copies – a logical backup) – mysqldump • Standby Copy (hot swap) • • MySQL Replication Cold Backup (offline) – Simple File Copies when server is shutdown • File System Volume Managers (snapshots) – LVM for example - create snapshot copy
  • 26. mysqldump • Advantages – Good for small databases or tables – Good assurance that database files are not corrupt – Logical Backup – thus flexible and portable • Disadvantages – Very slow restore times – Uses database processing cycles and resources – Not Online (requires Transaction or Locks on Tables in the database) – Not Incremental (requires a Full Backup every time) – Not Consistent (unless transaction is used)
  • 27. MySQL Replication • Advantages – – – – Rolling “snapshot” Quick Recovery - via failover Non-Blocking Works well in conjunction with other backup options • Disadvantages – – – – Only latest “Point in Time” (point it time keeps moving forward) Not historical Not for archival purposes Doesn’t protect from “oops”
  • 28. LVM Snapshots • Advantages – Quick – Feature of Linux – Good to use in conjunction with backups • Disadvantages – It’s a snapshot – Still need to make a backup copy – which is “full” in size – Performance degrades with each concurrent snapshot – Snapshots need to be released – Cross File System Limitations
  • 29. MySQL Enterprise Backup • Advantages – – – – – – Physical Backup so Fast – esp. restores Flexible - many options Archival Scalable Consistent Supported • Disadvantages • Requires some planning
  • 30. MySQL Backup Types: Comparison mysqldump LVM Snapshots MySQL Replication MySQL Enterprise Backup Full Backup ✔ ✔ ✔ ✔ Incremental Backups ✖ ✔ ✖ ✔ Partial Backups ✔ ✖ ✖ ✔ Compression Support ✖ ✖ ✖ ✔ Allows updates ✖ ✖ ✔ ✔ Point in Time Consistent ✖ ✔ ✔ ✔ Backup Speed Poor Good Very Good Very Good Very Poor Good Very Good Very Good Partial Restore ✔ ✖ ✖ ✔ Corruption Detection ✔ ✖ ✖ ✔ Meets Regulatory Archive Req. ✔ ✖ ✖ ✔ Supports DDL ✔ ✖ ✖ ✔ Recovery Speed
  • 32. MySQL Enterprise Backup • MySQL Enterprise Backup CLI • MySQL Enterprise Monitor • Oracle Secure Backup Intrinsic knowledge of database file formats • Block Validation Media Manager (like Oracle Secure Backup) • Tablespace/Data file recovery • Unused Block Compression • Consistent Recovery • File Compression Database Quickly Accessible Disk Storage Tape Archive
  • 33. MySQL Enterprise Backup: Terms • mysqlbackup : backup executable which includes InnoDB, MyISAM and other MySQL Data. mysqlbackup is a compatible replacement for the innobackup post 3.5.1 and includes additional features and capabilites • ibbackup: finer grained raw innodb backup executable for innodb files alone • binlog: contains database changes – eg DDL and DML • LSN: Log Sequence Number – the unique monotonically increasing id for each change in the binlog • Ibdata: system tablespace files • .ibd: single table space file
  • 34. How it Works: Backup for InnoDB • Step 1: Backing Up InnoDB Data Files – Copies and compresses InnoDB data files • System Database (ibdata) & Single-table Tablespaces (.ibd) – Produces “Fuzzy Backup • Backup of data files doesn’t correspond to any specific log sequence number (LSN) • Different database pages are copied at varying times ibbackup 1. InnoDB Tables & Indexes MEB Backup Files MySQL Database Files
  • 35. How it Works: Backing Up InnoDB Data Files Newest LSN InnoDB data file compressed data file L S N data L S N L S N data data L S N L S N data Oldest LSN data L S N data L S N L S N data data L S N L S N data data L S N data L S N data L S N L S N data data • Backup files size is reduced by 70% – Omits unused storage in each block, empty pages • Produces “Fuzzy Backup” • Notes earliest and latest Log Sequence Number (LSN)
  • 36. How it Works: Backup for InnoDB • Step 2: Backing up InnoDB Log Files – Copies Log Records accumulated during data file copy – All redo records with LSNs during data file copy ibbackup 1. InnoDB Tables & Indexes MEB Backup Files 2. Log Files MySQL Database Files
  • 37. How it Works: Backing up InnoDB Log Files Log File Earliest needed redo info L S N redo info L S N redo info L S N redo info Last needed redo info L S N redo info L S N redo info L S N redo info ibbackup_logfile L S N Oldest LSN Log file w/relevant redo L S N Newest LSN • Copies portion of the log file that contains all required redo information • Covers the time from beginning to end of data backup • Recovers all data blocks modified after copied to compressed data file
  • 38. Full & Partial Backups • Backup contains all tables in system tablespace – Plus those separate tables that match the pattern • When using “file per table”, you can backup a subset of InnoDB tables – Tables included in the backup are specified with regular expressions – Use the -- include option Full Backup Table A Multiple tables & indexes in the system tablespace (ibdata files) Table B Table C Partial Backup One table & indexes per file (.ibd files) Table D Table E Table F
  • 39. mysqlbackup – Usage Syntax mysqlbackup [--sleep=MS] [--compress[=LEVEL]] [--include=REGEXP] [--user=WORD][--password=WORD] [--port=PORT] [--socket=SOCKET] [--no-timestamp] [--ibbackup=IBBACKUP-BINARY] [--slave-info] [--backup-and-apply-log] [--databases=LIST] [--exec-when-locked="utility arg1 arg2 ..."] [--incremental --lsn=LSN] [--only-known-file-types] MY.CNF BACKUP-ROOT-DIR mysqlbackup --apply-log [--use-memory=MB] [--uncompress] [--ibbackup=IBBACKUP-BINARY] MY.CNF BACKUP-DIR mysqlbackup --apply-log --incremental [--use-memory=MB] [--uncompress] [--ibbackup=IBBACKUP-BINARY] INCREMENTAL-BACKUP-MY.CNF FULL-BACKUP-MY.CNF mysqlbackup --copy-back MY.CNF BACKUP-DIR
  • 40. mysqlbackup (innobackup) Examples • Full Backup mysqlbackup --user=dba --password=xyz --compress /etc/my.cnf /backups • Incremental Backup – The backup only contains changed data mysqlbackup --incremental --lsn 2261747124 /etc/my.cnf /incr-backup • Partial – The backup contains tables in test database that match the .ib.* regular expression. mysqlbackup --include 'test.ib.*' /etc/my.cnf /backups
  • 41. How mysqlbackup Works SQL: “FLUSH TABLES WITH READ LOCK” mysqlbackup Exec’s MySQL Command-line Client ibbackup InnoDB Tables & Indexes Hot Backup Files MyISAM Tables & Indexes, .frm, & .mrg files MySQL Database Files Flush, Lock SQL MySQL Server
  • 42. Tips: InnoDB and MyISAM Backup • InnoDB tables are fully accessible during backup – Insert, Update & Delete • MyISAM tables cannot be updated during backup – Uses FLUSH TABLES WITH READ LOCK near the end of the backup • Works best if … – Wait for insert/update/delete transactions during MyISAM backup – Do not run long SELECT queries during the backup – MyISAM tables are small, thus copied quickly
  • 43. ibbackup – Usage Syntax – strictly innodb Usage: ibbackup [--incremental lsn] [--sleep ms] [--suspend-at-end] [--compress [level]] [--include regexp] my.cnf backup-my.cnf or ibbackup --apply-log [--use-memory mb] [--uncompress] backup-my.cnf or ibbackup --apply-log --incremental [--use-memory mb] [--uncompress] incremental-backup-my.cnf full-backup-my.cnf
  • 44. Typical ibbackup Backup/Restore Steps •Take Backup' – ibbackup my.cnf backup.cnf •Prepare backup for restore – ibbackup –apply-log backup.cnf •Copy innodb backup files to mysqld datadir •Start mysqld •Performs recovery during startup
  • 45. Examples : Take Backup details • ibbackup my.cnf backup.cnf Example my.cnf [mysqld] datadir = /production/var innodb_data_home_dir = /production/var innodb_log_group_home_dir = /production/var innodb_data_file_path =ibdata1:32M;ibdata2:32M:autoextend innodb_log_files_in_group = 3 innodb_log_file_size = 32M Example backup.cnf datadir = /backup innodb_log_group_home_dir = /backup innodb_data_home_dir = /backup innodb_data_file_path = ibdata1:32M;ibdata2:32M:autoextend innodb_log_files_in_group = 3 innodb_log_file_size = 32M
  • 46. Tips: “Raw Backup” Files • The “raw backup” files from backup phase cannot be directly consumed by MySQL • These files can be copied to media • The database must be “restored” first • Use mysqlbackup to restore database before use Compressed copy of InnoDB data file(s) ibbackup_logfile Copy of MyISAM, frm, .mrg files Raw Backup Files
  • 47. How it Works: Restoring a Database MySQL data dir Compressed copy of InnoDB data file(s) 1. Uncompresses InnoDB files to data dir InnoDB data files 2. Recreates InnoDB Log files log files MyISAM, .frm, .mrg files ibbackup_logfile 3. Applies log, so InnoDB files are consistent 4. Restores MyISAM and other files Copy of MyISAM, frm, .mrg files
  • 48. Restoring a Database Con’t… • MEB restore rolls forward data files to a common point in time (the time at the end of backup) • After restore, MEB Backup prints the location in the binlog for the next SQL operation that executed after the backup completed • Note: the restore phase need not run on database server host – You can perform recovery on any machine, and copy recovered files to your database server host
  • 49. Backup and Roll forward “Log” Recovery • Also known as log archiving or log backups • Add executing mysqlbinlog to copy logs to your full and incremental backup schedules • Restore Full and Incremental as previously described • Roll forward using binlog from the final lsn to the lsn for the desired recovery point in time
  • 50. Roll Forward Backup and Recovery • Log Backup – Use mysqlbinlog to make a continuous backup of the binary log – mysqlbinlog --read-from-remote-server --host=host_name --raw --stop-never binlog.000999 • Restore – If data loss occurs (for example, if the server crashes), restore the most recent MEB backup – Edit output file to truncate at desired point – Note end lsn and use for roll forward start position • mysqlbinlog --start-position=27284 binlog.001002 binlog.001003 binlog.001004 | mysql --host=host_name -u root -p
  • 51. Additional Resources • Product Information http://www.mysql.com/products/enterprise/backup.html • Documentation http://dev.mysql.com/doc/mysql-enterprise-backup/3.5/en/index.html • Backup Forum http://forums.mysql.com/list.php?28 • Download (30 Day Trial) http://edelivery.oracle.com/