mysql developer day conference: mysql replication and scalability
DESCRIPTION
The slide deck contains the latest developments in MySQL Replication. It covers: - An introduction to MySQL Replication - Scaling with Multi-threaded slaves - Data aggregation with Multi-source replication - Lossless failover with semi-synchronous replication - Replication Monitoring made easierTRANSCRIPT
MySQL Replication and Scalability
Shivji JhaSoftware Developer,MySQL Replication Team
2 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Safe Harbour Statement
The following 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 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
OverviewMySQL Replication: Discover What's New
Overview: MySQL Replication
Consistency: Lossless Semi-Sync
Slave Throughput: Improved Multi-Threaded Slave
Flexibility: Multi-Source Replication
Monitoring: Performance_Schema Tables
Next steps
4 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
“In my opinion, MySQL is the only database we would ever trust to power the Zappos.com website.”
"On any given day we can sell close to 300,000 tickets on the Web site using MySQL as the database to search for events. It is amazing."
"craigslist infrastructure could not have handled the exponential growth in traffic without MySQL.”
“We are one of the largest MySQL web sites in production
MySQL Replication In Action on the Web
“As a leader in our field, we are committed to providing the best service to our users, and a web experience that meets members expectations and that starts with IT”
5 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
What isReplication?
6 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Replication: Copy Changes Master → Slave
MySQL Master Server● Changes data● Sends changes to slave
MySQL Slave Server● Receives changes from master● Applies received changes to database
M S
7 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Replication: Copy Changes Master → Slave
M M/S S
S
S
S
M
Server can be master, slave or both
Master can have multiple slaves
8 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Replication: Copy Changes Master → Slave
SM
M
Slave can only have one master
SM
MSlave can have multiple masters!labs.mysql.com
labsYippee!
9 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Replication: Copy Changes Master → Slave
M/S
Circular replication is also possible
M/S
M/S
M/S
M/S
M/S
10 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Replication: Copy Changes Master → Slave
Filters on slave
SM
Replicationfilter
I have a lotof tables
I only havetable_1
11 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why UseReplication?
12 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Performance
Read scale-out
M S
write clients read clients
13 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Performance
Read scale-out
M S
write clients read clients
Morereads?More
slaves!
14 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Performance
Read scale-out
M SS
S
S
M
write clients read clients read clients
write clients
Morereads?More
slaves!
15 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Redundancy
If master crashes, promote slave to master
C
B
A
16 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Redundancy
If master crashes, promote slave to master
C
B
ACrash
17 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Redundancy
If master crashes, promote slave to master
C
B
A
B is thenew master
18 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Online backup/reporting
Expensive queries on slave(s)
M S
Regular clients
Reports Big queries Business intelligence
19 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Long-distance Data Distribution
CB
BAAC
Image fromwww.ginkgomaps.com
20 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
How DoesReplication
Work?
21 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
All Transactions Written to Binary Log
A
binary log
Client
22 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
All Transactions Written to Binary Log
create table t (a int);
A
binary log
Client
23 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
All Transactions Written to Binary Log
create table t (a int);
Table t
create...
A
binary log
Client
24 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
All Transactions Written to Binary Log
create table t (a int);insert into t values (1);
Table t
create...
A
binary log
Client
25 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
All Transactions Written to Binary Log
create table t (a int);insert into t values (1);
Table t1
create...insert...A
binary log
Client
26 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Slave Initiates Replication
B
binary log
A
binary log
Client1. Slave sends request
for replication to startto master
2. Master sends streamof replication data
to slave
27 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Binary Log Sent to Slave, Re-applied
B
binary log
A
binary log
Client
28 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Binary Log Sent to Slave, Re-applied
B
binary log
A
binary log
Client
29 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Binary Log Sent to Slave, Re-applied
Table t
B
binary log
create...
A
binary log
Client
30 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Binary Log Sent to Slave, Re-applied
Table t Table t
create...
B
binary log
create...
A
binary log
Client
31 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Binary Log Sent to Slave, Re-applied
Table t Table t
create...
B
binary log
create...
A
binary log
Client
32 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Binary Log Sent to Slave, Re-applied
Table t1
Table t
create...
B
binary log
create...insert...A
binary log
Client
33 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Binary Log Sent to Slave, Re-applied
Table t1
Table t1
create...insert...B
binary log
create...insert...A
binary log
Client
34 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Actually, Transactions Land in Slave's Relay Log
B
binary logrelay log
A
binary log
Client
35 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Actually, Transactions Land in Slave's Relay Log
B
binary logrelay log
A
binary log
Client
36 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Actually, Transactions Land in Slave's Relay Log
B
binary logrelay log
create...
A
binary log
Client
Table t
37 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Actually, Transactions Land in Slave's Relay Log
B
binary log
create...
relay log
create...
A
binary log
Client
Table t
38 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Actually, Transactions Land in Slave's Relay Log
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table t
39 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Replication is Asynchronous
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table tTransactionapplied here
andcopied here
THENapplied here
THENack'ed
40 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Replication is Asynchronous
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table tTransactionapplied here
andcopied here
THENapplied here
THENack'ed
41 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Replication is Asynchronous
create...
B
binary log
create...
relay log
create...insert...A
binary log
Client
Table t1
Table tTransactionapplied here
andcopied here
THENapplied here
THENack'ed
42 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Replication is Asynchronous
create...
B
binary log
create...
relay log
create...insert...A
binary log
Client
Table t1
Table tTransactionapplied here
andcopied here
THENapplied here
THENack'ed
43 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Replication is Asynchronous
create...
B
binary log
create...insert...
relay log
create...insert...A
binary log
Client
Table t1
Table tTransactionapplied here
andcopied here
THENapplied here
THENack'ed
44 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Replication is Asynchronous
create...insert...B
binary log
create...insert...
relay log
create...insert...A
binary log
Client
Table t1
Table t1Transaction
applied hereand
copied hereTHEN
applied hereTHENack'ed
45 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
OverviewMySQL Replication: Discover What's New
Overview: MySQL Replication
Consistency: Lossless Semi-Sync
Slave Throughput: Improved Multi-Threaded Slave
Flexibility: Multi-Source Replication
Monitoring: Performance_Schema Tables
Next steps
46 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
What isSemi-Synchronous
Replication?
47 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Asynchronous vs Semi-sync Replication
By default, replication is asynchronous● In parallel: Master acks to app and sends transaction to slave
● Fast● Changes lost if master dies
MySQL 5.5: semi-synchronous replication possible● In sequence: slave receives transaction, then master acks to app
● Slower: Master waits for slave● Less risk for lost updates
48 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Semi-Synchronous Replication (MySQL 5.5)
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table tTransactionapplied here
THENcopied here
andapplied here
THENack'ed
49 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Semi-Synchronous Replication (MySQL 5.5)
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table tTransactionapplied here
andapplied here
THENcopied here
THENack'ed
50 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Semi-Synchronous Replication (MySQL 5.5)
create...
B
binary log
create...
relay log
create...insert...A
binary log
Client
Table t1
Table tTransactionapplied here
andapplied here
THENcopied here
THENack'ed
51 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Semi-Synchronous Replication (MySQL 5.5)
create...
B
binary log
create...insert...
relay log
create...insert...A
binary log
Client
Table t1
Table tTransactionapplied here
andapplied here
THENcopied here
THENack'ed
52 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Semi-Synchronous Replication (MySQL 5.5)
create...
B
binary log
create...insert...
relay log
create...insert...A
binary log
Client
Table t1
Table tTransactionapplied here
andapplied here
THENcopied here
THENack'ed
53 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Semi-Synchronous Replication (MySQL 5.5)
create...
B
binary log
create...insert...
relay log
create...insert...A
binary log
Client
Table t1
Table tTransactionapplied here
andapplied here
THENcopied here
THENack'ed
1
2
Slave tells masterwhen to ack!
54 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Semi-Synchronous Replication (MySQL 5.5)
create...insert...B
binary log
create...insert...
relay log
create...insert...A
binary log
Client
Table t1
Table t1Transaction
applied hereand
applied hereTHEN
copied hereTHENack'ed
55 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
What's New inSemi-Synchronous
Replication?
56 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
MySQL 5.5:semi-synchronous replication● Master commit● Slave receive● Client ack
.If master crashesbetween 1 and 2,committed data is lost
.Concurrent clientsmay have seen the transaction
MySQL 5.7.2:loss-less semi-sync replication● Slave receive● Master commit● Client ack
.If master crashes, all committed data is on slave
57 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table tTHEN com-mitted here
andapplied here
Transactioncopied here
andack'ed
58 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table tTHEN com-mitted here
andapplied here
Transactioncopied here
andack'ed
59 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
B
binary log
create...insert...
relay log
create...insert...A
binary log
Client
Table t Table tand
applied hereTHEN com-mitted here
Transactioncopied here
andack'ed
60 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
B
binary log
create...insert...
relay log
create...insert...A
binary log
Client
Table t1
Table tand
applied here
Transactioncopied here
andack'ed
THEN com-mitted here
61 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
B
binary log
create...insert...
relay log
create...insert...A
binary log
Client
Table t1
Table tand
applied here
Transactioncopied here
1
2
Slave tells masterwhen to commit!
andack'ed
THEN com-mitted here
62 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
B
binary log
create...insert...
relay log
create...insert...A
binary log
Client
Table t1
Table tand
applied hereTHEN com-mitted here
Transactioncopied here
andack'ed
63 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...insert...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...insert...B
binary log
create...insert...
relay log
create...insert...A
binary log
Client
Table t1
Table t1and
applied hereTHEN com-mitted here
Transactioncopied here
andack'ed
64 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
Summary● MySQL 5.7.2: loss-less semi-synchronous replication possible● If master crashes, all committed data is on slave● To enable:
master> SET GLOBAL rpl_semi_sync_master_wait_point = AFTER_SYNC;
● (default: AFTER_COMMIT – for 5.5 behavior)
65 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
OverviewMySQL Replication: Discover What's New
Overview: MySQL Replication
Consistency: Lossless Semi-Sync
Slave Throughput: Improved Multi-Threaded Slave
Flexibility: Multi-Source Replication
Monitoring: Performance_Schema Tables
Next steps
66 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
What isMulti-Threaded
Slave?
67 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
Before MySQL 5.6: Single-threaded slave
Improved Multi-Threaded Slave
B
relay logClient
Client
Client
68 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
Before MySQL 5.6: Single-threaded slave
Improved Multi-Threaded Slave
B
relay log
Transactionsapplied
in parallel
Client
Client
Client
Transactionslogged
in sequence
Transactionsapplied
in sequence
69 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
Before MySQL 5.6: Single-threaded slave
Improved Multi-Threaded Slave
B
relay log
Transactionsapplied
in parallel
Client
Client
Client
Transactionslogged
in sequence
Transactionsapplied
in sequence
Bottleneck!
70 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
MySQL 5.6: Multi-threaded slave by database
Improved Multi-Threaded Slave
B
relay log
Transactionsapplied
in parallel
Client
Client
Client
Transactionslogged
in sequence
Transactionsapplied
in parallel
71 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
MySQL 5.6: Multi-threaded slave by database● Different databases go to different threads
Improved Multi-Threaded Slave
B
relay logClient
Client
Client
DB1
DB2
DB3
72 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
MySQL 5.6: Multi-threaded slave by database● Different databases go to different threads● Great for some applications, BUT:
● No improvement if there is only one database● May break cross-database consistency
Improved Multi-Threaded Slave
B
relay logClient
Client
Client
DB1
DB2
DB3
73 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
What's New inMulti-Threaded
Slave?
74 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
MySQL 5.7.2: Multi-threaded slave by master concurrency● Transactions that were prepared at the same time on master
cannot conflict● Master stores a logical timestamp in the binary log● Slave applies transactions with same timestamp in parallel
Improved Multi-Threaded Slave
B
relay logClient
Client
Client
75 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
MySQL 5.7.2: Multi-threaded slave by master concurrency● Works always
● Even for one-database applications● Consistent
Improved Multi-Threaded Slave
B
relay logClient
Client
Client
76 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
MySQL 5.7.2: Multi-threaded slave by master concurrency● To enable:
slave> SET GLOBAL slave_parallel_type = logical_clock;
(default: database – for 5.6 behavior)
Improved Multi-Threaded Slave
B
relay logClient
Client
Client
77 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
OverviewMySQL Replication: Discover What's New
Overview: MySQL Replication
Consistency: Lossless Semi-Sync
Slave Throughput: Improved Multi-Threaded Slave
Flexibility: Multi-Source Replication
Monitoring: Performance_Schema Tables
Next steps
78 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
What isMulti-SourceReplication?
79 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
Before: Slave can have one master Labs release: Slave can have multiple masters
SM
M
80 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
Note● No conflict detection/resolution● Not update everywhere● Not synchronous
The masters must have conflict-free workloads!
81 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
Slave can have multiple masters
Preview release: labs.mysql.com● Not for production yet● Known and unknown limitations and bugs● Try it out and give feedback!
SM
M
82 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why UseMulti-SourceReplication?
83 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replicationfor Data Analytics
Business IntelligenceData analytics
Backupetc
M
M
M
Database 2
Database 3
Database 1
SDatabase 1, 2, 3
84 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replicationfor Merging Shards
M
M
Shard 2
Shard 1
SNew Shard
85 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
How DoesMulti-Source
Work?
86 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
relay log
relay log
relay log
A
B
C
D
87 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source + Multi-Threaded
relay log
relay log
relay log
A
B
C
D
88 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
D
relay log
relay log
relay log
A
B
C
D
Channel = Full slave pipeline
89 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
D
relay log
relay log
relay log
A
B
C
D
Channel = Full slave pipeline
Channels are named
my_channel
another_channel
third_channel
90 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
Setting up CHANGE MASTER TO […] FOR CHANNEL = 'name'
91 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
Other replication commands: START SLAVE […] FOR CHANNEL = 'name' STOP SLAVE […] FOR CHANNEL = 'name' RESET SLAVE […] FOR CHANNEL = 'name' FLUSH RELAY LOGS FOR CHANNEL = 'name' SHOW RELAY LOG EVENTS FOR CHANNEL = 'name'
START SLAVE […] FOR ALL CHANNELS STOP SLAVE […] FOR ALL CHANNELS RESET SLAVE […] FOR ALL CHANNELS
SELECT MASTER_POS_WAIT('file', pos[, timeout][, 'channel'])
92 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
Compatibility CHANGE MASTER TO […] (with no channel specified) START SLAVE […] (with no channel specified) etc
… are the same as …
CHANGE MASTER TO […] FOR CHANNEL = '' START SLAVE […] FOR CHANNEL = '' etc
93 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
OverviewMySQL Replication: Discover What's New
Overview: MySQL Replication
Consistency: Lossless Semi-Sync
Slave Throughput: Improved Multi-Threaded Slave
Flexibility: Multi-Source Replication
Monitoring: Performance_Schema Tables
Next steps
94 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
Traditional replication monitoring:SHOW SLAVE STATUS;
– Simple
– Not SQL friendly – no WHERE, no joins, etc
– Multi-source has per-source status
– Multi-threaded slave has per-applier status
5.7.2: Performance_Schema tables for replication slave
95 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
relay log
execute statusby coordinator
execute statusby worker
executeconfiguration
executestatus
connectionconfiguration
connectionstatus
96 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
6 tables in performance_schema database:
replication_connection_configuration
replication_connection_status
replication_execute_configuration
replication_execute_status
replication_execute_status_by_coordinator
replication_execute_status_by_worker Consistent semantics across tables Consistent naming across tables
One row for each workerin each multi-source channel
One rowfor each
multi-sourcechannel
97 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
Example: Connection statusmysql> select * from performance_schema.replication_connection_status\G*************************** 1. row *************************** CHANNEL_NAME: CHANNEL1 SOURCE_UUID: 7cff740623ca11e3ac3e5c260a83b12b THREAD_ID: 13 SERVICE_STATE: ONRECEIVED_TRANSACTION_SET: 7cff740623ca11e3ac3e5c260a83b12b:14 LAST_ERROR_NUMBER: 0 LAST_ERROR_MESSAGE: LAST_ERROR_TIMESTAMP: 00000000 00:00:00*************************** 2. row *************************** CHANNEL_NAME: CHANNEL2
⋮ One row for each channel
98 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
Example: Connection statusmysql> select * from performance_schema.replication_connection_status\G*************************** 1. row *************************** CHANNEL_NAME: CHANNEL1 SOURCE_UUID: 7cff740623ca11e3ac3e5c260a83b12b THREAD_ID: 13 SERVICE_STATE: ONRECEIVED_TRANSACTION_SET: 7cff740623ca11e3ac3e5c260a83b12b:14 LAST_ERROR_NUMBER: 0 LAST_ERROR_MESSAGE: LAST_ERROR_TIMESTAMP: 00000000 00:00:00*************************** 2. row *************************** CHANNEL_NAME: CHANNEL2
⋮ The master's server_uuid
99 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
Example: Connection statusmysql> select * from performance_schema.replication_connection_status\G*************************** 1. row *************************** CHANNEL_NAME: CHANNEL1 SOURCE_UUID: 7cff740623ca11e3ac3e5c260a83b12b THREAD_ID: 13 SERVICE_STATE: ONRECEIVED_TRANSACTION_SET: 7cff740623ca11e3ac3e5c260a83b12b:14 LAST_ERROR_NUMBER: 0 LAST_ERROR_MESSAGE: LAST_ERROR_TIMESTAMP: 00000000 00:00:00*************************** 2. row *************************** CHANNEL_NAME: CHANNEL2
⋮ Thread id and status
100 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
Example: Connection statusmysql> select * from performance_schema.replication_connection_status\G*************************** 1. row *************************** CHANNEL_NAME: CHANNEL1 SOURCE_UUID: 7cff740623ca11e3ac3e5c260a83b12b THREAD_ID: 13 SERVICE_STATE: ONRECEIVED_TRANSACTION_SET: 7cff740623ca11e3ac3e5c260a83b12b:14 LAST_ERROR_NUMBER: 0 LAST_ERROR_MESSAGE: LAST_ERROR_TIMESTAMP: 00000000 00:00:00*************************** 2. row *************************** CHANNEL_NAME: CHANNEL2
⋮ Set of transactionsreceived through this channel
101 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
Example: Connection statusmysql> select * from performance_schema.replication_connection_status\G*************************** 1. row *************************** CHANNEL_NAME: CHANNEL1 SOURCE_UUID: 7cff740623ca11e3ac3e5c260a83b12b THREAD_ID: 13 SERVICE_STATE: ONRECEIVED_TRANSACTION_SET: 7cff740623ca11e3ac3e5c260a83b12b:14 LAST_ERROR_NUMBER: 0 LAST_ERROR_MESSAGE: LAST_ERROR_TIMESTAMP: 00000000 00:00:00*************************** 2. row *************************** CHANNEL_NAME: CHANNEL2
⋮ Error status
102 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
Example: Connection statusmysql> select * from performance_schema.replication_connection_status\G*************************** 1. row *************************** CHANNEL_NAME: CHANNEL1 SOURCE_UUID: 7cff740623ca11e3ac3e5c260a83b12b THREAD_ID: NULL SERVICE_STATE: OFFRECEIVED_TRANSACTION_SET: 7cff740623ca11e3ac3e5c260a83b12b:14 LAST_ERROR_NUMBER: 1045 LAST_ERROR_MESSAGE: error connecting to master 'me@host:13000' … LAST_ERROR_TIMESTAMP: 20131109 21:03:23*************************** 2. row *************************** CHANNEL_NAME: CHANNEL2
⋮
Error status
103 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
Example: Connection statusmysql> select * from performance_schema.replication_connection_status\G*************************** 1. row *************************** CHANNEL_NAME: CHANNEL1 SOURCE_UUID: 7cff740623ca11e3ac3e5c260a83b12b THREAD_ID: NULL SERVICE_STATE: OFFRECEIVED_TRANSACTION_SET: 7cff740623ca11e3ac3e5c260a83b12b:14 LAST_ERROR_NUMBER: 1045 LAST_ERROR_MESSAGE: error connecting to master 'me@host:13000' … LAST_ERROR_TIMESTAMP: 20131109 21:03:23*************************** 2. row *************************** CHANNEL_NAME: CHANNEL2
⋮
Thread stoppedon error
104 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
OverviewMySQL Replication: Discover What's New
Overview: MySQL Replication
Consistency: Lossless Semi-Sync
Slave Throughput: Improved Multi-Threaded Slave
Flexibility: Multi-Source Replication
Monitoring: Performance_Schema Tables
Next steps
105 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Try it out!● MySQL 5.6:
http://dev.mysql.com/downloads/mysql/● MySQL 5.7.4:
http://dev.mysql.com/downloads/mysql/5.7.html● Labs release:
http://labs.mysql.com
Read the manual!● http://dev.mysql.com/doc/refman/5.7/en/index.html
Next Steps
106 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Send us feedback!● Shivji Kumar Jha
[email protected]● Sven Sandberg
[email protected]● Luís Soares
File bugs!● http://bugs.mysql.com
Next Steps
107 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.