SlideShare a Scribd company logo
1 of 47
Download to read offline
MySQL 5.6 Replication:
Supporting High Scale Web & Cloud Services
Mat Keep
MySQL Product Management
mat.keep@oracle.com
Andrew Morgan
MySQL Product Management
andrew.morgan@oracle.com
<Insert Picture Here>
Agenda
•  Replication Use Cases
•  MySQL 5.6 Replication Features
•  Resources to Get Started
Copyright 2013 Oracle Corporation | 27th February 2013 2
Industry Leaders Rely on MySQL
Cloud
Web & Enterprise OEM & ISVs
Copyright 2013 Oracle Corporation | 27th February 2013 3
ELASTIC SCALABILITY REAL TIME USER EXPERIENCE
ROCK SOLID RELIABILITY RAPID SERVICE INNOVATION
Driving new Database Demands
Copyright 2013 Oracle Corporation | 27th February 2013 4
•  MySQL 5.6 builds on MySQL 5.5 by improving:
•  Performance and Scalability
•  Optimizer for better query execution times, diagnostics
•  Performance Schema for better instrumentation
•  InnoDB for better transactional throughput
•  NoSQL API for better flexibility
•  Replication largest set of enhancements ever released
MySQL Database 5.6: A Better MySQL.
Copyright 2013 Oracle Corporation | 27th February 2013 5
MySQL 5.6: Transforming Replication
•  Multi-Threaded Slaves
•  Binary Log Group Commit
•  Optimized Row-Based Replication
PERFORMANCE
•  Global Transaction Identifiers
•  Replication Failover & Admin Utilities
•  Crash Safe Slaves & Binlogs
FAILOVER & RECOVERY
•  Replication Event Checksums
DATA INTEGRITY
•  Replication Utilities
•  Time-Delayed Replication
•  Remote Binlog Backup
•  Informational Log Events
•  Server UUIDs
DEV/OPS AGILITY
Copyright 2013 Oracle Corporation | 27th February 2013 6
PERFORMANCE
Copyright 2013 Oracle Corporation | 27th February 2013 7
5x Higher Performance with MySQL 5.6
0 5 10
QPS 58.11 144.4 282.53
0
50
100
150
200
250
300
QueriesperSecond
Worker Threads
Multi-Threaded Slave Performance
Copyright 2013 Oracle Corporation | 27th February 2013 8
Multi-Threaded Slaves
•  Increases slave throughput,
reducing lag
•  All transactions received into
slave’s relay log
•  Implements multiple SQL threads,
based on database
•  Applies events to different
databases in parallel
•  Great for systems which isolate
application data using databases –
e.g. multi-tenant
Copyright 2013 Oracle Corporation | 27th February 2013 9
SQL-A
I/O
Relay
Log
T1T2T3T4
SQL-B
SQL-C
DB-A DB-B DB-C
T1
T4
T2 T3
Coordinator
Multi-Threaded Slaves
•  Throughput of slave increased by allowing multiple slave
threads:
•  0 – functionality disabled
•  Up to 1024
•  Exec_Master_Log_Posn in SHOW SLAVE STATUS now
shows the low-water-mark
•  Configure using:
slave-parallel-workers=4
•  Only ensures sequencing within a database
•  Suitable if ordering of updates between databases is not required
Copyright 2013 Oracle Corporation | 27th February 2013 10
•  Transactions applied in parallel on the slave
•  Sequencing of transactions within a given
database will be the same
Multi-Threaded Slaves
Copyright 2013 Oracle Corporation | 27th February 2013 11
Master
INSERT INTO dba.tab1...
INSERT INTO dba.tab2...
INSERT INTO dbb.tab1...
INSERT INTO dbc.tab2...
INSERT INTO dba.tab1...
INSERT INTO dbb.tab3...
INSERT INTO dba.tab3...
INSERT INTO dbc.tab2...
INSERT INTO dba.tab4...
Slave thread1
dba.tab1
dba.tab2
dba.tab1
dba.tab3
dba.tab4
dbb.tab1
dbc.tab2
dbb.tab3
dbc.tab2
Slave thread2
Binlog Group Commit
•  Increases replication throughput by
increasing performance of the
master
•  Commits multiple transactions as a
group to Binlog on disk
•  Finer grained locking; reducing lock
wait times
Copyright 2013 Oracle Corporation | 27th February 2013 12
Session
Binary
Log
Master
Database
T1 T2
T3 T4
Group
commit
Replication Binary Log Group Commit
•  4.8x faster than
MySQL 5.5
•  4.5x even when
sync_binlog=1
Copyright 2013 Oracle Corporation | 27th February 2013 13
https://blogs.oracle.com/MySQL/entry/mysql_5_6_replication_performance
0
2,000
4,000
6,000
8,000
10,000
12,000
32 64 128 256
TransactionsPerSecond
Connections
MySQL 5.5 vs 5.6: Master Performance
5.6 Sync=0
5.6 Sync=1
5.5 Sync=0
Replication Binary Log Group Commit
•  Days of losing 50%+
master performance
are gone!
•  10% overhead when
configuring
sync_binlog=0
•  Additional 5% when
configuring
sync_binlog=1
Copyright 2013 Oracle Corporation | 27th February 2013 14
0
2,000
4,000
6,000
8,000
10,000
12,000
32 64 128 256
TransactionsPerSecond
Connections
MySQL 5.6: Master Performance
No Binlog
Sync=0
Sync=1
https://blogs.oracle.com/MySQL/entry/mysql_5_6_replication_performance
Binary Log Group Commit
•  Better handling of multiple writers by using finer grained locking
•  Changes to InnoDB allow in-memory commits while binary log group
commit is running
•  Flushing of binary log to disk controlled by these options:
•  binlog-order-commits={ON,OFF}
Whether transaction commits must be recorded in the correct order in the
binary log. Performance may be better when turned off as transactions can
be committed to the binary log in parallel.
•  binlog-max-flush-queue-time
Use to reduce latency of commits in highly loaded systems; this is the target
max time (in microseconds) and is not guaranteed.
Copyright 2013 Oracle Corporation | 27th February 2013 15
Optimized Row Based Replication
•  Increases replication throughput for master and slave
•  Reduces Binlog size, memory requirements & network bandwidth
•  Only replicates those elements of the Row image that
have changed
Primary Key Changed Columns
Copyright 2013 Oracle Corporation | 27th February 2013 16
Optimized Row Based Replication
•  Default is to include full before & after image for
every changed row
•  New option: binlog-row-image=minimal
•  Reduces space:
•  Inserts: only after image
•  Deletes: only before image
•  Updates: after image (modified columns) + primary key or
indexed columns of before image
Copyright 2013 Oracle Corporation | 27th February 2013 17
AUTOMATED FAILOVER & RECOVERY
Copyright 2013 Oracle Corporation | 27th February 2013 18
Global Transaction Identifiers
•  Simple to track & compare replication across the cluster
–  Unique identifier for each transaction written to the Binlog
•  Automatically identify the most up-to-date slave for failover
•  Deploy n-tier replication hierarchies
Master
GTID=123456
GTID=123456
GTID=123456 GTID=123456
Copyright 2013 Oracle Corporation | 27th February 2013 19
Before Global Transaction IDs
Copyright 2013 Oracle Corporation | 27th February 2013 20
Master
{my-bin.000132,
782}
{my-bin.000101,
873}
{my-bin.000099,
123}
{my-bin.00088,
1027}
Before Global Transaction IDs
Failover & Recovery
Copyright 2013 Oracle Corporation | 27th February 2013 21
Master
{my-bin.000132,
782}
{my-bin.000101,
873}
{my-bin.000099,
123}
{my-bin.00088,
1027}
CHANGE MASTER TO??
Must convert
{file,pos} from
old master to one
from the new master
Crash-Safe Slaves & Binlog
Before:
–  Transaction Data: in tables
–  Replication Info: in files
MySQL 5.6
–  Transaction Data: in tables
–  Replication Info: in tables
Data
Position Info
CRASH!
Time
Data
Position Info
Time
•  Automatic recovery of a slave and Binlog
after a failure
•  Binlog and table data are transactionally
consistent
•  Resumes replication without Dev/Op
intervention
•  Automatically rolling back replication to last
committed event
•  Eliminates risk of data loss or corruption
Atomic
Atomic
Copyright 2013 Oracle Corporation | 27th February 2013 22
Crash-Safe Slaves
•  Writes and reads back only complete events or transactions from
the binary log
•  master.info & relay-log.info files can be replaced with
tables
•  ACID transaction prevent them getting out of sync with InnoDB tables
•  --master-info-repository=TABLE
•  --relay-log-info-repository=TABLE
mysql.slave_master_info
mysql.slave_relay_log_info
Copyright 2013 Oracle Corporation | 27th February 2013 23
DATA INTEGRITY
Copyright 2013 Oracle Corporation | 27th February 2013 24
Replication Event Checksums
•  Ensures replicated data is correct,
consistent and accessible
•  Detects corrupt replication events
before they’re applied
•  Returns an error
•  Protects entire replication path
•  Memory
•  Disk
•  Network
•  Bugs
Copyright 2013 Oracle Corporation | 27th February 2013 25
Master
#
Slave
#
Replication Event Checksums
•  Implemented in the binary and relay logs
•  New mysqld options:
•  binlog-checksum=CRC32
Checksums written to the binary log
•  master-verify-checksum=1
Master validates checksum read from the binary log
•  slave-sql-verify-checksum=1
Slave validates checksum when reading from the relay log
Copyright 2013 Oracle Corporation | 27th February 2013 26
DEV/OPS AGILITY
Copyright 2013 Oracle Corporation | 27th February 2013 27
MySQL Utilities
Automate common Dev/Ops tasks
–  Replication: provisioning, testing, monitoring and failover
–  Database comparisons: consistency checking
–  Database administration: users, connections, tables, etc
–  New utilities in development, ie log analysis
Implemented as Python scripts, plug-in for MySQL Workbench
–  Also available from LaunchPad
–  Extensible to include custom scripting
Resources: Documentation & Community Forum
–  http://dev.mysql.com/doc/workbench/en/mysql-utils-man.html
–  http://forums.mysql.com/list.php?155
Copyright 2013 Oracle Corporation | 27th February 2013 28
Utility Workflow for Replication
•  Replicate: Initiates Replication to the new slave
•  Check: Validates the replication configuration and operation
•  Show: Display Replication topology
•  Fail-Over & Admin: Detects and failovers (or switches) from
master to slave. Status monitoring
Check Show
Fail-Over
& AdminReplicate
Copyright 2013 Oracle Corporation | 27th February 2013 29
mysqlreplicate Utility
•  Starts replication process
•  User can provide login and
connection parameters for the
master
•  Configurable replication start points:
current position / GTID, specific
event, entire binlog
•  Checks storage engine compatibility
•  Enables fast, simple scaling
New Slave
Login,
Connection &
Start-Point
Master
Replication configured,
binlog position
Repl
Copyright 2013 Oracle Corporation | 27th February 2013 30
mysqlreplicate example
$ mysqlreplicate --master=root:billy@localhost:3306
--slave=root:billy@localhost:3307
# master on localhost: ... connected.
# slave on localhost: ... connected.
Repl
Copyright 2013 Oracle Corporation | 27th February 2013 31
mysqlrplcheck example
$ mysqlrplcheck --master=root@host1:3310
--slave=root@host2:3311
# master on host1: ... connected.
# slave on host2: ... connected. Test Description Status
-------------------------------------------------------------
Checking for binary logging on master [pass]
Are there binlog exceptions? [pass]
Replication user exists? [pass]
Checking server_id values [pass]
Is slave connected to master? [pass]
Check master information file [pass]
Checking InnoDB compatibility [pass]
Checking storage engines compatibility [pass]
Checking lower_case_table_names settings [pass]
Checking slave delay (seconds behind master) [pass]
# ...done.
Check
Copyright 2013 Oracle Corporation | 27th February 2013 32
mysqlrplshow Utility
•  Discovers & displays replication
topology
•  Shows slaves attached to each
master
•  Labels each slave with hostname and
port number
•  Displays multiple topologies, including
hierarchical and circular
•  Displays results in a graph or list
•  Enables user to monitor topology
on-demand
$ mysqlrplshow --master=root@localhost:3311
# master on localhost: ... connected.
# Finding slaves for master: localhost:3311
# Replication Topology Graph::
localhost:3306 (MASTER)
|
+--- localhost:3307 - (SLAVE)
|
+--- localhost:3308 - (SLAVE + MASTER)
|
+--- localhost:3313 - (SLAVE)
Show
Copyright 2013 Oracle Corporation | 27th February 2013 33
Use of mysqlfailover
mysqlfailover --master=root@black:3306 --discover-slaves-login=root --rediscover
MySQL Replication Failover Utility
Failover Mode = auto Next Interval = Wed Aug 15 13:19:30 2012
Master Information
------------------
Binary Log File Position Binlog_Do_DB Binlog_Ignore_DB
black-bin.000001 2586
GTID Executed Set
A0F7E82D-3554-11E2-9949-080027685B56:1-5
Replication Health Status
+---------+-------+---------+--------+------------+---------+
| host | port | role | state | gtid_mode | health |
+---------+-------+---------+--------+------------+---------+
| black | 3306 | MASTER | UP | ON | OK |
| blue | 3306 | SLAVE | UP | ON | OK |
| green | 3306 | SLAVE | UP | ON | OK |
| brown | 3306 | SLAVE | UP | ON | OK |
| red | 3306 | SLAVE | UP | ON | OK |
+---------+-------+---------+--------+------------+---------+
Q-quit R-refresh H-health G-GTID Lists U-UUIDs
Fail-Over
Copyright 2013 Oracle Corporation | 27th February 2013 34
mysqlfailover – master failed
Failover starting...
# Candidate slave blue:3306 will become the new master.
# Preparing candidate for failover.
# Creating replication user if it does not exist.
# Stopping slaves.
# Performing STOP on all slaves.
# Switching slaves to new master.
# Starting slaves.
# Performing START on all slaves.
# Checking slaves for errors.
# Failover complete.
# Discovering slaves for master at jane:3306
Failover console will restart in 5 seconds.
Fail-Over
Copyright 2013 Oracle Corporation | 27th February 2013 35
Use of mysqlfailover
MySQL Replication Failover Utility
Failover Mode = auto Next Interval = Wed Aug 15 13:19:30 2012
Master Information
------------------
Binary Log File Position Binlog_Do_DB Binlog_Ignore_DB
black-bin.000001 2586
GTID Executed Set
A0F7E82D-3554-11E2-9949-080027685B56:1-5
Replication Health Status
+---------+-------+---------+--------+------------+---------+
| host | port | role | state | gtid_mode | health |
+---------+-------+---------+--------+------------+---------+
| blue | 3306 | MASTER | UP | ON | OK |
| green | 3306 | SLAVE | UP | ON | OK |
| brown | 3306 | SLAVE | UP | ON | OK |
| red | 3306 | SLAVE | UP | ON | OK |
+---------+-------+---------+--------+------------+---------+
Q-quit R-refresh H-health G-GTID Lists U-UUIDs
Fail-Over
Copyright 2013 Oracle Corporation | 27th February 2013 36
Replication Administration Utility
•  Perform switchover to eliminate downtime
during planned maintenance
•  Start and stop slaves
•  Slave discovery & monitoring
•  Slave status, thread status
•  Replication processing, including any lag
•  Configure slave promotion policies
•  Non GTID-functionality can be used with pre-
MySQL 5.6 releases
Master
Slaves
Administration
Utility
Status &
Switchover
Admin
Copyright 2013 Oracle Corporation | 27th February 2013 37
Planned switchover to new master with mysqlrpladmin
mysqlrpladmin --master=root@blue:3306 --new-master=root@black:3306 --
demote-master --discover-slaves-login=root switchover
# Discovering slaves for master at blue:3306
# Checking privileges.
# …
#
# Replication Topology Health:
+---------+-------+---------+--------+------------+---------+
| host | port | role | state | gtid_mode | health |
+---------+-------+---------+--------+------------+---------+
| black | 3306 | MASTER | UP | ON | OK |
| blue | 3306 | SLAVE | UP | ON | OK |
| green | 3306 | SLAVE | UP | ON | OK |
| brown | 3306 | SLAVE | UP | ON | OK |
| red | 3306 | SLAVE | UP | ON | OK |
+---------+-------+---------+--------+------------+---------+
# ...done.
Switch-
Over
Copyright 2013 Oracle Corporation | 27th February 2013 38
Time Delayed Replication
•  Configure time period before replication
events applied to slave
•  Per-slave, via execution of SQL Thread
•  Second-level granularity, up to 68 years!
•  Protects against operational error
•  Dropping a table, etc.
•  Allows database to be inspected
without loading a back-up
Copyright 2013 Oracle Corporation | 27th February 2013 39
Master	
  
:3306	
  
Binary	
  Logs	
  
Relay	
  Log	
  
Relay	
  Log	
  
Slave	
  1	
  
:3307	
  
Slave2	
  
:3308	
  
10 Minute Delay
Time Delayed Replication - configuring
slave2> CHANGE MASTER TO
-> MASTER_HOST = 'localhost‘,
-> MASTER_PORT = 3306,
-> MASTER_USER = 'repl_user‘,
-> MASTER_PASSWORD = 'pw‘,
-> MASTER_DELAY = 600;
slave2> START SLAVE;
Copyright 2013 Oracle Corporation | 27th February 2013 40
Time Delayed Replication – Doh!
slave2> STOP SLAVE;
Breath slowly!
master> SHOW BINLOG EVENTSG
*************************** 12. row ***************************
Log_name: ws2-bin.000001 Pos: 984 Event_type: Query Server_id: 1
End_log_pos: 1096 Info: use `clusterdb`; DROP TABLE `towns` /* generated by
server */
slave2> START SLAVE UNTIL
-> MASTER_LOG_FILE='ws2-bin.000001',
-> MASTER_LOG_POS=984;
Copyright 2013 Oracle Corporation | 27th February 2013 41
Time Delayed Replication – Doh! (with GTIDs)
slave2> STOP SLAVE;
Breath slowly!
master> SHOW BINLOG EVENTSG
*************************** 12. row ***************************
Log_name: ws2-bin.000001 Pos: 940 Event_type: Gtid Server_id: 1 End_log_pos:
984 Info: SET @@SESSION.GTID_NEXT= '4B2CBA63-8082-11E1-BE2D-F0DEF11A08B7:666'
*************************** 13. row ***************************
Log_name: ws2-bin.000001 Pos: 984 Event_type: Query Server_id: 1 End_log_pos:
1096 Info: use `clusterdb`; DROP TABLE `towns` /* generated by server */
slave2> SET GTID_NEXT=“SET @@SESSION.GTID_NEXT=
“4B2CBA63-8082-11E1-BE2D-F0DEF11A08B7:666”;
slave2> COMMIT;
slave2> START SLAVE;
Copyright 2013 Oracle Corporation | 27th February 2013 42
Remote Binary Log Backup
•  Creates real-time backup of binary log on remote server
•  Adds a “raw” flag to the mysqlbinlog command
•  Sent via the replication channel
$> mysqlbinlog --read-from-remote-
server --raw –h secret_server -P 3306
-u root mysql-bin.000001
Copyright 2013 Oracle Corporation | 27th February 2013 43
Informational Log Events
•  Simplifies debugging and auditing when using Row
Based Replication
•  Original query written to the Binlog
•  Replicated with row event to the slave
•  Activate with
binlog-rows-query-log-events=TRUE
master> INSERT INTO simples VALUES (20),
(21),(22);
Copyright 2013 Oracle Corporation | 27th February 2013 44
Informational Log Events
BEFORE: mysqlbinlog (-v):
### INSERT INTO clusterdb.simples
### SET
### @1=20 /* INT meta=0 nullable=0 is_null=0 */
### INSERT INTO clusterdb.simples
### SET
### @1=21 /* INT meta=0 nullable=0 is_null=0 */
### INSERT INTO clusterdb.simples
### SET
### @1=22 /* INT meta=0 nullable=0 is_null=0 */
Copyright 2013 Oracle Corporation | 27th February 2013 45
Informational Log Events
AFTER: mysqlbinlog (-vv):
# at 443
#111128 16:04:24 server id 1 end_log_pos 504 Rows_query
# INSERT INTO simples VALUES (20),(21),(22)
# at 504
Copyright 2013 Oracle Corporation | 27th February 2013 46
Next Steps
Copyright 2013 Oracle Corporation | 27th February 2013 47
www.mysql.com/why-mysql/white-papers/mysql-replication-introduction/ www.mysql.com/why-mysql/white-papers/mysql-replication-tutorial/
•  Evaluate the new features
•  Questions & Feedback: forums.mysql.com/list.php?26
•  Bugs: bugs.mysql.com/
•  Replication documentation
•  dev.mysql.com/doc/refman/5.6/en/replication.html
•  Learn more about HA Solutions for MySQL
•  mysql.com/why-mysql/white-papers/mysql_wp_ha_strategy_guide.php

More Related Content

What's hot

MySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentMySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentJean-François Gagné
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyJean-François Gagné
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyJean-François Gagné
 
The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialJean-François Gagné
 
MySQL GTID Concepts, Implementation and troubleshooting
MySQL GTID Concepts, Implementation and troubleshooting MySQL GTID Concepts, Implementation and troubleshooting
MySQL GTID Concepts, Implementation and troubleshooting Mydbops
 
MySQL Parallel Replication by Booking.com
MySQL Parallel Replication by Booking.comMySQL Parallel Replication by Booking.com
MySQL Parallel Replication by Booking.comJean-François Gagné
 
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...Jean-François Gagné
 
Pseudo GTID and Easy MySQL Replication Topology Management
Pseudo GTID and Easy MySQL Replication Topology ManagementPseudo GTID and Easy MySQL Replication Topology Management
Pseudo GTID and Easy MySQL Replication Topology ManagementShlomi Noach
 
M|18 Under the Hood: Galera Cluster
M|18 Under the Hood: Galera ClusterM|18 Under the Hood: Galera Cluster
M|18 Under the Hood: Galera ClusterMariaDB plc
 
M|18 Battle of the Online Schema Change Methods
M|18 Battle of the Online Schema Change MethodsM|18 Battle of the Online Schema Change Methods
M|18 Battle of the Online Schema Change MethodsMariaDB plc
 
M|18 Deep Dive: InnoDB Transactions and Replication
M|18 Deep Dive: InnoDB Transactions and ReplicationM|18 Deep Dive: InnoDB Transactions and Replication
M|18 Deep Dive: InnoDB Transactions and ReplicationMariaDB plc
 
MySQL/MariaDB Parallel Replication: inventory, use-case and limitations
MySQL/MariaDB Parallel Replication: inventory, use-case and limitationsMySQL/MariaDB Parallel Replication: inventory, use-case and limitations
MySQL/MariaDB Parallel Replication: inventory, use-case and limitationsJean-François Gagné
 
MySQL Parallel Replication: inventory, use-case and limitations
MySQL Parallel Replication: inventory, use-case and limitationsMySQL Parallel Replication: inventory, use-case and limitations
MySQL Parallel Replication: inventory, use-case and limitationsJean-François Gagné
 
InnoDB Performance Optimisation
InnoDB Performance OptimisationInnoDB Performance Optimisation
InnoDB Performance OptimisationMydbops
 
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)M Malai
 
MySQL replication best practices 105-232-931
MySQL replication best practices 105-232-931MySQL replication best practices 105-232-931
MySQL replication best practices 105-232-931Baruch Osoveskiy
 
How Booking.com avoids and deals with replication lag
How Booking.com avoids and deals with replication lagHow Booking.com avoids and deals with replication lag
How Booking.com avoids and deals with replication lagJean-François Gagné
 
Easy MySQL Replication Setup and Troubleshooting
Easy MySQL Replication Setup and TroubleshootingEasy MySQL Replication Setup and Troubleshooting
Easy MySQL Replication Setup and TroubleshootingBob Burgess
 
Evolution of MySQL Parallel Replication
Evolution of MySQL Parallel Replication Evolution of MySQL Parallel Replication
Evolution of MySQL Parallel Replication Mydbops
 

What's hot (20)

MySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentMySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated Environment
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash Safety
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash Safety
 
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
 
MySQL GTID Concepts, Implementation and troubleshooting
MySQL GTID Concepts, Implementation and troubleshooting MySQL GTID Concepts, Implementation and troubleshooting
MySQL GTID Concepts, Implementation and troubleshooting
 
MySQL Parallel Replication by Booking.com
MySQL Parallel Replication by Booking.comMySQL Parallel Replication by Booking.com
MySQL Parallel Replication by Booking.com
 
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
 
Pseudo GTID and Easy MySQL Replication Topology Management
Pseudo GTID and Easy MySQL Replication Topology ManagementPseudo GTID and Easy MySQL Replication Topology Management
Pseudo GTID and Easy MySQL Replication Topology Management
 
M|18 Under the Hood: Galera Cluster
M|18 Under the Hood: Galera ClusterM|18 Under the Hood: Galera Cluster
M|18 Under the Hood: Galera Cluster
 
M|18 Battle of the Online Schema Change Methods
M|18 Battle of the Online Schema Change MethodsM|18 Battle of the Online Schema Change Methods
M|18 Battle of the Online Schema Change Methods
 
M|18 Deep Dive: InnoDB Transactions and Replication
M|18 Deep Dive: InnoDB Transactions and ReplicationM|18 Deep Dive: InnoDB Transactions and Replication
M|18 Deep Dive: InnoDB Transactions and Replication
 
MySQL/MariaDB Parallel Replication: inventory, use-case and limitations
MySQL/MariaDB Parallel Replication: inventory, use-case and limitationsMySQL/MariaDB Parallel Replication: inventory, use-case and limitations
MySQL/MariaDB Parallel Replication: inventory, use-case and limitations
 
MySQL Parallel Replication: inventory, use-case and limitations
MySQL Parallel Replication: inventory, use-case and limitationsMySQL Parallel Replication: inventory, use-case and limitations
MySQL Parallel Replication: inventory, use-case and limitations
 
InnoDB Performance Optimisation
InnoDB Performance OptimisationInnoDB Performance Optimisation
InnoDB Performance Optimisation
 
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
 
Galera Cluster 3.0 Features
Galera Cluster 3.0 FeaturesGalera Cluster 3.0 Features
Galera Cluster 3.0 Features
 
MySQL replication best practices 105-232-931
MySQL replication best practices 105-232-931MySQL replication best practices 105-232-931
MySQL replication best practices 105-232-931
 
How Booking.com avoids and deals with replication lag
How Booking.com avoids and deals with replication lagHow Booking.com avoids and deals with replication lag
How Booking.com avoids and deals with replication lag
 
Easy MySQL Replication Setup and Troubleshooting
Easy MySQL Replication Setup and TroubleshootingEasy MySQL Replication Setup and Troubleshooting
Easy MySQL Replication Setup and Troubleshooting
 
Evolution of MySQL Parallel Replication
Evolution of MySQL Parallel Replication Evolution of MySQL Parallel Replication
Evolution of MySQL Parallel Replication
 

Viewers also liked

Mysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replicationMysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replicationGiuseppe Maxia
 
1&1 MySQL Experience at SkySQL Roadshow
1&1 MySQL Experience at SkySQL Roadshow1&1 MySQL Experience at SkySQL Roadshow
1&1 MySQL Experience at SkySQL RoadshowMariaDB Corporation
 
20120426 high availability MySQL
20120426 high availability MySQL20120426 high availability MySQL
20120426 high availability MySQLJui-Nan Lin
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsTed Wennmark
 
MySQL Security Best Practises
MySQL Security Best PractisesMySQL Security Best Practises
MySQL Security Best PractisesMark Swarbrick
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationBogdan Kecman
 
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15Dave Stokes
 
New awesome features in MySQL 5.7
New awesome features in MySQL 5.7New awesome features in MySQL 5.7
New awesome features in MySQL 5.7Zhaoyang Wang
 
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyContinuent
 
MySQL High Availability with Replication New Features
MySQL High Availability with Replication New FeaturesMySQL High Availability with Replication New Features
MySQL High Availability with Replication New FeaturesShivji Kumar Jha
 
The care and feeding of a MySQL database
The care and feeding of a MySQL databaseThe care and feeding of a MySQL database
The care and feeding of a MySQL databaseDave Stokes
 
Using MySQL Fabric for High Availability and Scaling Out
Using MySQL Fabric for High Availability and Scaling OutUsing MySQL Fabric for High Availability and Scaling Out
Using MySQL Fabric for High Availability and Scaling OutOSSCube
 
MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMatt Lord
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMorgan Tocker
 
MySQL For Linux Sysadmins
MySQL For Linux SysadminsMySQL For Linux Sysadmins
MySQL For Linux SysadminsMorgan Tocker
 
Architecture Patterns - Open Discussion
Architecture Patterns - Open DiscussionArchitecture Patterns - Open Discussion
Architecture Patterns - Open DiscussionNguyen Tung
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationUlf Wendel
 
Best practices for MySQL High Availability
Best practices for MySQL High AvailabilityBest practices for MySQL High Availability
Best practices for MySQL High AvailabilityColin Charles
 

Viewers also liked (20)

Mysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replicationMysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replication
 
1&1 MySQL Experience at SkySQL Roadshow
1&1 MySQL Experience at SkySQL Roadshow1&1 MySQL Experience at SkySQL Roadshow
1&1 MySQL Experience at SkySQL Roadshow
 
20120426 high availability MySQL
20120426 high availability MySQL20120426 high availability MySQL
20120426 high availability MySQL
 
MySQL Fabric
MySQL FabricMySQL Fabric
MySQL Fabric
 
MySQL HA
MySQL HAMySQL HA
MySQL HA
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA options
 
MySQL Security Best Practises
MySQL Security Best PractisesMySQL Security Best Practises
MySQL Security Best Practises
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
 
New awesome features in MySQL 5.7
New awesome features in MySQL 5.7New awesome features in MySQL 5.7
New awesome features in MySQL 5.7
 
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
 
MySQL High Availability with Replication New Features
MySQL High Availability with Replication New FeaturesMySQL High Availability with Replication New Features
MySQL High Availability with Replication New Features
 
The care and feeding of a MySQL database
The care and feeding of a MySQL databaseThe care and feeding of a MySQL database
The care and feeding of a MySQL database
 
Using MySQL Fabric for High Availability and Scaling Out
Using MySQL Fabric for High Availability and Scaling OutUsing MySQL Fabric for High Availability and Scaling Out
Using MySQL Fabric for High Availability and Scaling Out
 
MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an Overview
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics Improvements
 
MySQL For Linux Sysadmins
MySQL For Linux SysadminsMySQL For Linux Sysadmins
MySQL For Linux Sysadmins
 
Architecture Patterns - Open Discussion
Architecture Patterns - Open DiscussionArchitecture Patterns - Open Discussion
Architecture Patterns - Open Discussion
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
Best practices for MySQL High Availability
Best practices for MySQL High AvailabilityBest practices for MySQL High Availability
Best practices for MySQL High Availability
 

Similar to MySQL 5.6 Replication Webinar

MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB MeetupMariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB MeetupColin Charles
 
Mysql ecosystem in 2019
Mysql ecosystem in 2019Mysql ecosystem in 2019
Mysql ecosystem in 2019Alkin Tezuysal
 
My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012sqlhjalp
 
How to upgrade like a boss to MySQL 8.0 - PLE19
How to upgrade like a boss to MySQL 8.0 -  PLE19How to upgrade like a boss to MySQL 8.0 -  PLE19
How to upgrade like a boss to MySQL 8.0 - PLE19Alkin Tezuysal
 
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.pdfAlkin Tezuysal
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialColin Charles
 
2010 12 mysql_clusteroverview
2010 12 mysql_clusteroverview2010 12 mysql_clusteroverview
2010 12 mysql_clusteroverviewDimas Prasetyo
 
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...Mydbops
 
Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014
Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014
Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014Manuel Contreras
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlContinuent
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterContinuent
 
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceMySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceOlivier DASINI
 
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...OracleMySQL
 
002 Introducing Neo4j 5 for Administrators - NODES2022 AMERICAS Beginner 2 - ...
002 Introducing Neo4j 5 for Administrators - NODES2022 AMERICAS Beginner 2 - ...002 Introducing Neo4j 5 for Administrators - NODES2022 AMERICAS Beginner 2 - ...
002 Introducing Neo4j 5 for Administrators - NODES2022 AMERICAS Beginner 2 - ...Neo4j
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015Mario Beck
 
SOUG Day Oracle 21c New Security Features
SOUG Day Oracle 21c New Security FeaturesSOUG Day Oracle 21c New Security Features
SOUG Day Oracle 21c New Security FeaturesStefan Oehrli
 

Similar to MySQL 5.6 Replication Webinar (20)

MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB MeetupMariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
 
Mysql ecosystem in 2019
Mysql ecosystem in 2019Mysql ecosystem in 2019
Mysql ecosystem in 2019
 
My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012
 
How to upgrade like a boss to MySQL 8.0 - PLE19
How to upgrade like a boss to MySQL 8.0 -  PLE19How to upgrade like a boss to MySQL 8.0 -  PLE19
How to upgrade like a boss to MySQL 8.0 - PLE19
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
 
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
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability Tutorial
 
2010 12 mysql_clusteroverview
2010 12 mysql_clusteroverview2010 12 mysql_clusteroverview
2010 12 mysql_clusteroverview
 
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
 
Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014
Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014
Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014
 
Disaster Recovery Site Implementation with MySQL
Disaster Recovery Site Implementation with MySQLDisaster Recovery Site Implementation with MySQL
Disaster Recovery Site Implementation with MySQL
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
 
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceMySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
 
MySQL 5.7 what's new
MySQL 5.7 what's newMySQL 5.7 what's new
MySQL 5.7 what's new
 
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
 
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
 
002 Introducing Neo4j 5 for Administrators - NODES2022 AMERICAS Beginner 2 - ...
002 Introducing Neo4j 5 for Administrators - NODES2022 AMERICAS Beginner 2 - ...002 Introducing Neo4j 5 for Administrators - NODES2022 AMERICAS Beginner 2 - ...
002 Introducing Neo4j 5 for Administrators - NODES2022 AMERICAS Beginner 2 - ...
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
 
SOUG Day Oracle 21c New Security Features
SOUG Day Oracle 21c New Security FeaturesSOUG Day Oracle 21c New Security Features
SOUG Day Oracle 21c New Security Features
 

More from Mark Swarbrick

MySQL NoSQL Document Store
MySQL NoSQL Document StoreMySQL NoSQL Document Store
MySQL NoSQL Document StoreMark Swarbrick
 
MySQL @ the University Of Nottingham
MySQL @ the University Of NottinghamMySQL @ the University Of Nottingham
MySQL @ the University Of NottinghamMark Swarbrick
 
MySQL Dublin Event Nov 2018 - MySQL 8
MySQL Dublin Event Nov 2018 - MySQL 8MySQL Dublin Event Nov 2018 - MySQL 8
MySQL Dublin Event Nov 2018 - MySQL 8Mark Swarbrick
 
MySQL Dublin Event Nov 2018 - State of the Dolphin
MySQL Dublin Event Nov 2018 - State of the DolphinMySQL Dublin Event Nov 2018 - State of the Dolphin
MySQL Dublin Event Nov 2018 - State of the DolphinMark Swarbrick
 
Oracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document StoreOracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document StoreMark Swarbrick
 
TLV - MySQL Security overview
TLV - MySQL Security overviewTLV - MySQL Security overview
TLV - MySQL Security overviewMark Swarbrick
 
TLV - MySQL Enterprise Edition + Cloud
TLV - MySQL Enterprise Edition + CloudTLV - MySQL Enterprise Edition + Cloud
TLV - MySQL Enterprise Edition + CloudMark Swarbrick
 
TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8Mark Swarbrick
 
MySQL At University Of Nottingham - 2018 MySQL Days
MySQL At University Of Nottingham - 2018 MySQL DaysMySQL At University Of Nottingham - 2018 MySQL Days
MySQL At University Of Nottingham - 2018 MySQL DaysMark Swarbrick
 
MySQL At Mastercard - 2018 MySQL Days
MySQL At Mastercard - 2018 MySQL DaysMySQL At Mastercard - 2018 MySQL Days
MySQL At Mastercard - 2018 MySQL DaysMark Swarbrick
 
MySQL 8 - 2018 MySQL Days
MySQL 8 - 2018 MySQL DaysMySQL 8 - 2018 MySQL Days
MySQL 8 - 2018 MySQL DaysMark Swarbrick
 
MySQL Security + GDPR - 2018 MySQL Days
MySQL Security + GDPR - 2018 MySQL DaysMySQL Security + GDPR - 2018 MySQL Days
MySQL Security + GDPR - 2018 MySQL DaysMark Swarbrick
 
MySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL InnoDB + NDB Cluster - 2018 MySQL DaysMySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL InnoDB + NDB Cluster - 2018 MySQL DaysMark Swarbrick
 
MySQL Cloud - 2018 MySQL Days
MySQL Cloud - 2018 MySQL DaysMySQL Cloud - 2018 MySQL Days
MySQL Cloud - 2018 MySQL DaysMark Swarbrick
 
MySQL 2018 Intro - 2018 MySQL Days
MySQL 2018 Intro - 2018 MySQL DaysMySQL 2018 Intro - 2018 MySQL Days
MySQL 2018 Intro - 2018 MySQL DaysMark Swarbrick
 

More from Mark Swarbrick (20)

MySQL NoSQL Document Store
MySQL NoSQL Document StoreMySQL NoSQL Document Store
MySQL NoSQL Document Store
 
MySQL @ the University Of Nottingham
MySQL @ the University Of NottinghamMySQL @ the University Of Nottingham
MySQL @ the University Of Nottingham
 
InnoDb Vs NDB Cluster
InnoDb Vs NDB ClusterInnoDb Vs NDB Cluster
InnoDb Vs NDB Cluster
 
MySQL Security & GDPR
MySQL Security & GDPRMySQL Security & GDPR
MySQL Security & GDPR
 
Intro To MySQL 2019
Intro To MySQL 2019Intro To MySQL 2019
Intro To MySQL 2019
 
MySQL 8
MySQL 8MySQL 8
MySQL 8
 
MySQL Dublin Event Nov 2018 - MySQL 8
MySQL Dublin Event Nov 2018 - MySQL 8MySQL Dublin Event Nov 2018 - MySQL 8
MySQL Dublin Event Nov 2018 - MySQL 8
 
MySQL Dublin Event Nov 2018 - State of the Dolphin
MySQL Dublin Event Nov 2018 - State of the DolphinMySQL Dublin Event Nov 2018 - State of the Dolphin
MySQL Dublin Event Nov 2018 - State of the Dolphin
 
Oracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document StoreOracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document Store
 
TLV - MySQL Security overview
TLV - MySQL Security overviewTLV - MySQL Security overview
TLV - MySQL Security overview
 
TLV - MySQL Enterprise Edition + Cloud
TLV - MySQL Enterprise Edition + CloudTLV - MySQL Enterprise Edition + Cloud
TLV - MySQL Enterprise Edition + Cloud
 
TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8
 
MySQL At University Of Nottingham - 2018 MySQL Days
MySQL At University Of Nottingham - 2018 MySQL DaysMySQL At University Of Nottingham - 2018 MySQL Days
MySQL At University Of Nottingham - 2018 MySQL Days
 
MySQL At Mastercard - 2018 MySQL Days
MySQL At Mastercard - 2018 MySQL DaysMySQL At Mastercard - 2018 MySQL Days
MySQL At Mastercard - 2018 MySQL Days
 
MySQL 8 - 2018 MySQL Days
MySQL 8 - 2018 MySQL DaysMySQL 8 - 2018 MySQL Days
MySQL 8 - 2018 MySQL Days
 
MySQL Security + GDPR - 2018 MySQL Days
MySQL Security + GDPR - 2018 MySQL DaysMySQL Security + GDPR - 2018 MySQL Days
MySQL Security + GDPR - 2018 MySQL Days
 
MySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL InnoDB + NDB Cluster - 2018 MySQL DaysMySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL InnoDB + NDB Cluster - 2018 MySQL Days
 
MySQL Cloud - 2018 MySQL Days
MySQL Cloud - 2018 MySQL DaysMySQL Cloud - 2018 MySQL Days
MySQL Cloud - 2018 MySQL Days
 
MySQL 2018 Intro - 2018 MySQL Days
MySQL 2018 Intro - 2018 MySQL DaysMySQL 2018 Intro - 2018 MySQL Days
MySQL 2018 Intro - 2018 MySQL Days
 
MySQL + GDPR
MySQL + GDPRMySQL + GDPR
MySQL + GDPR
 

Recently uploaded

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
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, Adobeapidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 

Recently uploaded (20)

+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...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

MySQL 5.6 Replication Webinar

  • 1. MySQL 5.6 Replication: Supporting High Scale Web & Cloud Services Mat Keep MySQL Product Management mat.keep@oracle.com Andrew Morgan MySQL Product Management andrew.morgan@oracle.com
  • 2. <Insert Picture Here> Agenda •  Replication Use Cases •  MySQL 5.6 Replication Features •  Resources to Get Started Copyright 2013 Oracle Corporation | 27th February 2013 2
  • 3. Industry Leaders Rely on MySQL Cloud Web & Enterprise OEM & ISVs Copyright 2013 Oracle Corporation | 27th February 2013 3
  • 4. ELASTIC SCALABILITY REAL TIME USER EXPERIENCE ROCK SOLID RELIABILITY RAPID SERVICE INNOVATION Driving new Database Demands Copyright 2013 Oracle Corporation | 27th February 2013 4
  • 5. •  MySQL 5.6 builds on MySQL 5.5 by improving: •  Performance and Scalability •  Optimizer for better query execution times, diagnostics •  Performance Schema for better instrumentation •  InnoDB for better transactional throughput •  NoSQL API for better flexibility •  Replication largest set of enhancements ever released MySQL Database 5.6: A Better MySQL. Copyright 2013 Oracle Corporation | 27th February 2013 5
  • 6. MySQL 5.6: Transforming Replication •  Multi-Threaded Slaves •  Binary Log Group Commit •  Optimized Row-Based Replication PERFORMANCE •  Global Transaction Identifiers •  Replication Failover & Admin Utilities •  Crash Safe Slaves & Binlogs FAILOVER & RECOVERY •  Replication Event Checksums DATA INTEGRITY •  Replication Utilities •  Time-Delayed Replication •  Remote Binlog Backup •  Informational Log Events •  Server UUIDs DEV/OPS AGILITY Copyright 2013 Oracle Corporation | 27th February 2013 6
  • 7. PERFORMANCE Copyright 2013 Oracle Corporation | 27th February 2013 7
  • 8. 5x Higher Performance with MySQL 5.6 0 5 10 QPS 58.11 144.4 282.53 0 50 100 150 200 250 300 QueriesperSecond Worker Threads Multi-Threaded Slave Performance Copyright 2013 Oracle Corporation | 27th February 2013 8
  • 9. Multi-Threaded Slaves •  Increases slave throughput, reducing lag •  All transactions received into slave’s relay log •  Implements multiple SQL threads, based on database •  Applies events to different databases in parallel •  Great for systems which isolate application data using databases – e.g. multi-tenant Copyright 2013 Oracle Corporation | 27th February 2013 9 SQL-A I/O Relay Log T1T2T3T4 SQL-B SQL-C DB-A DB-B DB-C T1 T4 T2 T3 Coordinator
  • 10. Multi-Threaded Slaves •  Throughput of slave increased by allowing multiple slave threads: •  0 – functionality disabled •  Up to 1024 •  Exec_Master_Log_Posn in SHOW SLAVE STATUS now shows the low-water-mark •  Configure using: slave-parallel-workers=4 •  Only ensures sequencing within a database •  Suitable if ordering of updates between databases is not required Copyright 2013 Oracle Corporation | 27th February 2013 10
  • 11. •  Transactions applied in parallel on the slave •  Sequencing of transactions within a given database will be the same Multi-Threaded Slaves Copyright 2013 Oracle Corporation | 27th February 2013 11 Master INSERT INTO dba.tab1... INSERT INTO dba.tab2... INSERT INTO dbb.tab1... INSERT INTO dbc.tab2... INSERT INTO dba.tab1... INSERT INTO dbb.tab3... INSERT INTO dba.tab3... INSERT INTO dbc.tab2... INSERT INTO dba.tab4... Slave thread1 dba.tab1 dba.tab2 dba.tab1 dba.tab3 dba.tab4 dbb.tab1 dbc.tab2 dbb.tab3 dbc.tab2 Slave thread2
  • 12. Binlog Group Commit •  Increases replication throughput by increasing performance of the master •  Commits multiple transactions as a group to Binlog on disk •  Finer grained locking; reducing lock wait times Copyright 2013 Oracle Corporation | 27th February 2013 12 Session Binary Log Master Database T1 T2 T3 T4 Group commit
  • 13. Replication Binary Log Group Commit •  4.8x faster than MySQL 5.5 •  4.5x even when sync_binlog=1 Copyright 2013 Oracle Corporation | 27th February 2013 13 https://blogs.oracle.com/MySQL/entry/mysql_5_6_replication_performance 0 2,000 4,000 6,000 8,000 10,000 12,000 32 64 128 256 TransactionsPerSecond Connections MySQL 5.5 vs 5.6: Master Performance 5.6 Sync=0 5.6 Sync=1 5.5 Sync=0
  • 14. Replication Binary Log Group Commit •  Days of losing 50%+ master performance are gone! •  10% overhead when configuring sync_binlog=0 •  Additional 5% when configuring sync_binlog=1 Copyright 2013 Oracle Corporation | 27th February 2013 14 0 2,000 4,000 6,000 8,000 10,000 12,000 32 64 128 256 TransactionsPerSecond Connections MySQL 5.6: Master Performance No Binlog Sync=0 Sync=1 https://blogs.oracle.com/MySQL/entry/mysql_5_6_replication_performance
  • 15. Binary Log Group Commit •  Better handling of multiple writers by using finer grained locking •  Changes to InnoDB allow in-memory commits while binary log group commit is running •  Flushing of binary log to disk controlled by these options: •  binlog-order-commits={ON,OFF} Whether transaction commits must be recorded in the correct order in the binary log. Performance may be better when turned off as transactions can be committed to the binary log in parallel. •  binlog-max-flush-queue-time Use to reduce latency of commits in highly loaded systems; this is the target max time (in microseconds) and is not guaranteed. Copyright 2013 Oracle Corporation | 27th February 2013 15
  • 16. Optimized Row Based Replication •  Increases replication throughput for master and slave •  Reduces Binlog size, memory requirements & network bandwidth •  Only replicates those elements of the Row image that have changed Primary Key Changed Columns Copyright 2013 Oracle Corporation | 27th February 2013 16
  • 17. Optimized Row Based Replication •  Default is to include full before & after image for every changed row •  New option: binlog-row-image=minimal •  Reduces space: •  Inserts: only after image •  Deletes: only before image •  Updates: after image (modified columns) + primary key or indexed columns of before image Copyright 2013 Oracle Corporation | 27th February 2013 17
  • 18. AUTOMATED FAILOVER & RECOVERY Copyright 2013 Oracle Corporation | 27th February 2013 18
  • 19. Global Transaction Identifiers •  Simple to track & compare replication across the cluster –  Unique identifier for each transaction written to the Binlog •  Automatically identify the most up-to-date slave for failover •  Deploy n-tier replication hierarchies Master GTID=123456 GTID=123456 GTID=123456 GTID=123456 Copyright 2013 Oracle Corporation | 27th February 2013 19
  • 20. Before Global Transaction IDs Copyright 2013 Oracle Corporation | 27th February 2013 20 Master {my-bin.000132, 782} {my-bin.000101, 873} {my-bin.000099, 123} {my-bin.00088, 1027}
  • 21. Before Global Transaction IDs Failover & Recovery Copyright 2013 Oracle Corporation | 27th February 2013 21 Master {my-bin.000132, 782} {my-bin.000101, 873} {my-bin.000099, 123} {my-bin.00088, 1027} CHANGE MASTER TO?? Must convert {file,pos} from old master to one from the new master
  • 22. Crash-Safe Slaves & Binlog Before: –  Transaction Data: in tables –  Replication Info: in files MySQL 5.6 –  Transaction Data: in tables –  Replication Info: in tables Data Position Info CRASH! Time Data Position Info Time •  Automatic recovery of a slave and Binlog after a failure •  Binlog and table data are transactionally consistent •  Resumes replication without Dev/Op intervention •  Automatically rolling back replication to last committed event •  Eliminates risk of data loss or corruption Atomic Atomic Copyright 2013 Oracle Corporation | 27th February 2013 22
  • 23. Crash-Safe Slaves •  Writes and reads back only complete events or transactions from the binary log •  master.info & relay-log.info files can be replaced with tables •  ACID transaction prevent them getting out of sync with InnoDB tables •  --master-info-repository=TABLE •  --relay-log-info-repository=TABLE mysql.slave_master_info mysql.slave_relay_log_info Copyright 2013 Oracle Corporation | 27th February 2013 23
  • 24. DATA INTEGRITY Copyright 2013 Oracle Corporation | 27th February 2013 24
  • 25. Replication Event Checksums •  Ensures replicated data is correct, consistent and accessible •  Detects corrupt replication events before they’re applied •  Returns an error •  Protects entire replication path •  Memory •  Disk •  Network •  Bugs Copyright 2013 Oracle Corporation | 27th February 2013 25 Master # Slave #
  • 26. Replication Event Checksums •  Implemented in the binary and relay logs •  New mysqld options: •  binlog-checksum=CRC32 Checksums written to the binary log •  master-verify-checksum=1 Master validates checksum read from the binary log •  slave-sql-verify-checksum=1 Slave validates checksum when reading from the relay log Copyright 2013 Oracle Corporation | 27th February 2013 26
  • 27. DEV/OPS AGILITY Copyright 2013 Oracle Corporation | 27th February 2013 27
  • 28. MySQL Utilities Automate common Dev/Ops tasks –  Replication: provisioning, testing, monitoring and failover –  Database comparisons: consistency checking –  Database administration: users, connections, tables, etc –  New utilities in development, ie log analysis Implemented as Python scripts, plug-in for MySQL Workbench –  Also available from LaunchPad –  Extensible to include custom scripting Resources: Documentation & Community Forum –  http://dev.mysql.com/doc/workbench/en/mysql-utils-man.html –  http://forums.mysql.com/list.php?155 Copyright 2013 Oracle Corporation | 27th February 2013 28
  • 29. Utility Workflow for Replication •  Replicate: Initiates Replication to the new slave •  Check: Validates the replication configuration and operation •  Show: Display Replication topology •  Fail-Over & Admin: Detects and failovers (or switches) from master to slave. Status monitoring Check Show Fail-Over & AdminReplicate Copyright 2013 Oracle Corporation | 27th February 2013 29
  • 30. mysqlreplicate Utility •  Starts replication process •  User can provide login and connection parameters for the master •  Configurable replication start points: current position / GTID, specific event, entire binlog •  Checks storage engine compatibility •  Enables fast, simple scaling New Slave Login, Connection & Start-Point Master Replication configured, binlog position Repl Copyright 2013 Oracle Corporation | 27th February 2013 30
  • 31. mysqlreplicate example $ mysqlreplicate --master=root:billy@localhost:3306 --slave=root:billy@localhost:3307 # master on localhost: ... connected. # slave on localhost: ... connected. Repl Copyright 2013 Oracle Corporation | 27th February 2013 31
  • 32. mysqlrplcheck example $ mysqlrplcheck --master=root@host1:3310 --slave=root@host2:3311 # master on host1: ... connected. # slave on host2: ... connected. Test Description Status ------------------------------------------------------------- Checking for binary logging on master [pass] Are there binlog exceptions? [pass] Replication user exists? [pass] Checking server_id values [pass] Is slave connected to master? [pass] Check master information file [pass] Checking InnoDB compatibility [pass] Checking storage engines compatibility [pass] Checking lower_case_table_names settings [pass] Checking slave delay (seconds behind master) [pass] # ...done. Check Copyright 2013 Oracle Corporation | 27th February 2013 32
  • 33. mysqlrplshow Utility •  Discovers & displays replication topology •  Shows slaves attached to each master •  Labels each slave with hostname and port number •  Displays multiple topologies, including hierarchical and circular •  Displays results in a graph or list •  Enables user to monitor topology on-demand $ mysqlrplshow --master=root@localhost:3311 # master on localhost: ... connected. # Finding slaves for master: localhost:3311 # Replication Topology Graph:: localhost:3306 (MASTER) | +--- localhost:3307 - (SLAVE) | +--- localhost:3308 - (SLAVE + MASTER) | +--- localhost:3313 - (SLAVE) Show Copyright 2013 Oracle Corporation | 27th February 2013 33
  • 34. Use of mysqlfailover mysqlfailover --master=root@black:3306 --discover-slaves-login=root --rediscover MySQL Replication Failover Utility Failover Mode = auto Next Interval = Wed Aug 15 13:19:30 2012 Master Information ------------------ Binary Log File Position Binlog_Do_DB Binlog_Ignore_DB black-bin.000001 2586 GTID Executed Set A0F7E82D-3554-11E2-9949-080027685B56:1-5 Replication Health Status +---------+-------+---------+--------+------------+---------+ | host | port | role | state | gtid_mode | health | +---------+-------+---------+--------+------------+---------+ | black | 3306 | MASTER | UP | ON | OK | | blue | 3306 | SLAVE | UP | ON | OK | | green | 3306 | SLAVE | UP | ON | OK | | brown | 3306 | SLAVE | UP | ON | OK | | red | 3306 | SLAVE | UP | ON | OK | +---------+-------+---------+--------+------------+---------+ Q-quit R-refresh H-health G-GTID Lists U-UUIDs Fail-Over Copyright 2013 Oracle Corporation | 27th February 2013 34
  • 35. mysqlfailover – master failed Failover starting... # Candidate slave blue:3306 will become the new master. # Preparing candidate for failover. # Creating replication user if it does not exist. # Stopping slaves. # Performing STOP on all slaves. # Switching slaves to new master. # Starting slaves. # Performing START on all slaves. # Checking slaves for errors. # Failover complete. # Discovering slaves for master at jane:3306 Failover console will restart in 5 seconds. Fail-Over Copyright 2013 Oracle Corporation | 27th February 2013 35
  • 36. Use of mysqlfailover MySQL Replication Failover Utility Failover Mode = auto Next Interval = Wed Aug 15 13:19:30 2012 Master Information ------------------ Binary Log File Position Binlog_Do_DB Binlog_Ignore_DB black-bin.000001 2586 GTID Executed Set A0F7E82D-3554-11E2-9949-080027685B56:1-5 Replication Health Status +---------+-------+---------+--------+------------+---------+ | host | port | role | state | gtid_mode | health | +---------+-------+---------+--------+------------+---------+ | blue | 3306 | MASTER | UP | ON | OK | | green | 3306 | SLAVE | UP | ON | OK | | brown | 3306 | SLAVE | UP | ON | OK | | red | 3306 | SLAVE | UP | ON | OK | +---------+-------+---------+--------+------------+---------+ Q-quit R-refresh H-health G-GTID Lists U-UUIDs Fail-Over Copyright 2013 Oracle Corporation | 27th February 2013 36
  • 37. Replication Administration Utility •  Perform switchover to eliminate downtime during planned maintenance •  Start and stop slaves •  Slave discovery & monitoring •  Slave status, thread status •  Replication processing, including any lag •  Configure slave promotion policies •  Non GTID-functionality can be used with pre- MySQL 5.6 releases Master Slaves Administration Utility Status & Switchover Admin Copyright 2013 Oracle Corporation | 27th February 2013 37
  • 38. Planned switchover to new master with mysqlrpladmin mysqlrpladmin --master=root@blue:3306 --new-master=root@black:3306 -- demote-master --discover-slaves-login=root switchover # Discovering slaves for master at blue:3306 # Checking privileges. # … # # Replication Topology Health: +---------+-------+---------+--------+------------+---------+ | host | port | role | state | gtid_mode | health | +---------+-------+---------+--------+------------+---------+ | black | 3306 | MASTER | UP | ON | OK | | blue | 3306 | SLAVE | UP | ON | OK | | green | 3306 | SLAVE | UP | ON | OK | | brown | 3306 | SLAVE | UP | ON | OK | | red | 3306 | SLAVE | UP | ON | OK | +---------+-------+---------+--------+------------+---------+ # ...done. Switch- Over Copyright 2013 Oracle Corporation | 27th February 2013 38
  • 39. Time Delayed Replication •  Configure time period before replication events applied to slave •  Per-slave, via execution of SQL Thread •  Second-level granularity, up to 68 years! •  Protects against operational error •  Dropping a table, etc. •  Allows database to be inspected without loading a back-up Copyright 2013 Oracle Corporation | 27th February 2013 39 Master   :3306   Binary  Logs   Relay  Log   Relay  Log   Slave  1   :3307   Slave2   :3308   10 Minute Delay
  • 40. Time Delayed Replication - configuring slave2> CHANGE MASTER TO -> MASTER_HOST = 'localhost‘, -> MASTER_PORT = 3306, -> MASTER_USER = 'repl_user‘, -> MASTER_PASSWORD = 'pw‘, -> MASTER_DELAY = 600; slave2> START SLAVE; Copyright 2013 Oracle Corporation | 27th February 2013 40
  • 41. Time Delayed Replication – Doh! slave2> STOP SLAVE; Breath slowly! master> SHOW BINLOG EVENTSG *************************** 12. row *************************** Log_name: ws2-bin.000001 Pos: 984 Event_type: Query Server_id: 1 End_log_pos: 1096 Info: use `clusterdb`; DROP TABLE `towns` /* generated by server */ slave2> START SLAVE UNTIL -> MASTER_LOG_FILE='ws2-bin.000001', -> MASTER_LOG_POS=984; Copyright 2013 Oracle Corporation | 27th February 2013 41
  • 42. Time Delayed Replication – Doh! (with GTIDs) slave2> STOP SLAVE; Breath slowly! master> SHOW BINLOG EVENTSG *************************** 12. row *************************** Log_name: ws2-bin.000001 Pos: 940 Event_type: Gtid Server_id: 1 End_log_pos: 984 Info: SET @@SESSION.GTID_NEXT= '4B2CBA63-8082-11E1-BE2D-F0DEF11A08B7:666' *************************** 13. row *************************** Log_name: ws2-bin.000001 Pos: 984 Event_type: Query Server_id: 1 End_log_pos: 1096 Info: use `clusterdb`; DROP TABLE `towns` /* generated by server */ slave2> SET GTID_NEXT=“SET @@SESSION.GTID_NEXT= “4B2CBA63-8082-11E1-BE2D-F0DEF11A08B7:666”; slave2> COMMIT; slave2> START SLAVE; Copyright 2013 Oracle Corporation | 27th February 2013 42
  • 43. Remote Binary Log Backup •  Creates real-time backup of binary log on remote server •  Adds a “raw” flag to the mysqlbinlog command •  Sent via the replication channel $> mysqlbinlog --read-from-remote- server --raw –h secret_server -P 3306 -u root mysql-bin.000001 Copyright 2013 Oracle Corporation | 27th February 2013 43
  • 44. Informational Log Events •  Simplifies debugging and auditing when using Row Based Replication •  Original query written to the Binlog •  Replicated with row event to the slave •  Activate with binlog-rows-query-log-events=TRUE master> INSERT INTO simples VALUES (20), (21),(22); Copyright 2013 Oracle Corporation | 27th February 2013 44
  • 45. Informational Log Events BEFORE: mysqlbinlog (-v): ### INSERT INTO clusterdb.simples ### SET ### @1=20 /* INT meta=0 nullable=0 is_null=0 */ ### INSERT INTO clusterdb.simples ### SET ### @1=21 /* INT meta=0 nullable=0 is_null=0 */ ### INSERT INTO clusterdb.simples ### SET ### @1=22 /* INT meta=0 nullable=0 is_null=0 */ Copyright 2013 Oracle Corporation | 27th February 2013 45
  • 46. Informational Log Events AFTER: mysqlbinlog (-vv): # at 443 #111128 16:04:24 server id 1 end_log_pos 504 Rows_query # INSERT INTO simples VALUES (20),(21),(22) # at 504 Copyright 2013 Oracle Corporation | 27th February 2013 46
  • 47. Next Steps Copyright 2013 Oracle Corporation | 27th February 2013 47 www.mysql.com/why-mysql/white-papers/mysql-replication-introduction/ www.mysql.com/why-mysql/white-papers/mysql-replication-tutorial/ •  Evaluate the new features •  Questions & Feedback: forums.mysql.com/list.php?26 •  Bugs: bugs.mysql.com/ •  Replication documentation •  dev.mysql.com/doc/refman/5.6/en/replication.html •  Learn more about HA Solutions for MySQL •  mysql.com/why-mysql/white-papers/mysql_wp_ha_strategy_guide.php