• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
MySQL Developer Day conference: MySQL Replication and Scalability
 

MySQL Developer Day conference: MySQL Replication and Scalability

on

  • 259 views

The slide deck contains the latest developments in MySQL Replication. It covers: ...

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 easier

Statistics

Views

Total Views
259
Views on SlideShare
197
Embed Views
62

Actions

Likes
0
Downloads
10
Comments
0

3 Embeds 62

http://shivjijha.com 38
http://localhost 23
http://markable.in 1

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    MySQL Developer Day conference: MySQL Replication and Scalability MySQL Developer Day conference: MySQL Replication and Scalability Presentation Transcript

    • MySQL Replication and Scalability Shivji Jha Software 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. Overview MySQL 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 is Replication?
    • 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 S M M Slave can only have one master S M M Slave can have multiple masters! labs.mysql.com labs Yippee!
    • 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 Replication filter I have a lot of tables I only have table_1
    • 11 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Use Replication?
    • 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 More reads? More slaves!
    • 14 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Replication? – Performance Read scale-out M S S S S M write clients read clients read clients write clients More reads? 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 the new 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 from www.ginkgomaps.com
    • 20 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. How Does Replication 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 t 1 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 Client 1. Slave sends request for replication to start to master 2. Master sends stream of 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 t 1 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 t 1 Table t 1 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 t Transaction applied here and copied here THEN applied here THEN ack'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 t Transaction applied here and copied here THEN applied here THEN ack'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 t 1 Table t Transaction applied here and copied here THEN applied here THEN ack'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 t 1 Table t Transaction applied here and copied here THEN applied here THEN ack'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 t 1 Table t Transaction applied here and copied here THEN applied here THEN ack'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 t 1 Table t 1Transaction applied here and copied here THEN applied here THEN ack'ed
    • 45 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Overview MySQL 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 is Semi-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 t Transaction applied here THEN copied here and applied here THEN ack'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 t Transaction applied here and applied here THEN copied here THEN ack'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 t 1 Table t Transaction applied here and applied here THEN copied here THEN ack'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 t 1 Table t Transaction applied here and applied here THEN copied here THEN ack'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 t 1 Table t Transaction applied here and applied here THEN copied here THEN ack'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 t 1 Table t Transaction applied here and applied here THEN copied here THEN ack'ed 1 2 Slave tells master when 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 t 1 Table t 1Transaction applied here and applied here THEN copied here THEN ack'ed
    • 55 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. What's New in Semi-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 crashes between 1 and 2, committed data is lost .Concurrent clients may 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 t THEN com- mitted here and applied here Transaction copied here and ack'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 t THEN com- mitted here and applied here Transaction copied here and ack'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 t and applied here THEN com- mitted here Transaction copied here and ack'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 t 1 Table t and applied here Transaction copied here and ack'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 t 1 Table t and applied here Transaction copied here 1 2 Slave tells master when to commit! and ack'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 t 1 Table t and applied here THEN com- mitted here Transaction copied here and ack'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 t 1 Table t 1and applied here THEN com- mitted here Transaction copied here and ack'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. Overview MySQL 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 is Multi-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 Transactions applied in parallel Client Client Client Transactions logged in sequence Transactions applied 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 Transactions applied in parallel Client Client Client Transactions logged in sequence Transactions applied 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 Transactions applied in parallel Client Client Client Transactions logged in sequence Transactions applied 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 in Multi-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. Overview MySQL 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 is Multi-Source Replication?
    • 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 S M 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! S M M
    • 82 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Use Multi-Source Replication?
    • 83 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication for Data Analytics Business Intelligence Data analytics Backup etc M M M Database 2 Database 3 Database 1 S Database 1, 2, 3
    • 84 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication for Merging Shards M M Shard 2 Shard 1 S New Shard
    • 85 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. How Does Multi-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. Overview MySQL 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 status by coordinator execute status by worker execute configuration execute status connection configuration connection status
    • 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 worker in each multi-source channel One row for each multi-source channel
    • 97 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Monitoring with Performance_Schema  Example: Connection status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: 13            SERVICE_STATE: ON RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 0       LAST_ERROR_MESSAGE:     LAST_ERROR_TIMESTAMP: 0000­00­00 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 status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: 13            SERVICE_STATE: ON RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 0       LAST_ERROR_MESSAGE:     LAST_ERROR_TIMESTAMP: 0000­00­00 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 status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: 13            SERVICE_STATE: ON RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 0       LAST_ERROR_MESSAGE:     LAST_ERROR_TIMESTAMP: 0000­00­00 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 status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: 13            SERVICE_STATE: ON RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 0       LAST_ERROR_MESSAGE:     LAST_ERROR_TIMESTAMP: 0000­00­00 00:00:00 *************************** 2. row ***************************             CHANNEL_NAME: CHANNEL2                         ⋮  Set of transactions received through this channel
    • 101 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Monitoring with Performance_Schema  Example: Connection status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: 13            SERVICE_STATE: ON RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 0       LAST_ERROR_MESSAGE:     LAST_ERROR_TIMESTAMP: 0000­00­00 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 status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: NULL            SERVICE_STATE: OFF RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 1045       LAST_ERROR_MESSAGE: error connecting to master 'me@host:13000' …     LAST_ERROR_TIMESTAMP: 2013­11­09 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 status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: NULL            SERVICE_STATE: OFF RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 1045       LAST_ERROR_MESSAGE: error connecting to master 'me@host:13000' …     LAST_ERROR_TIMESTAMP: 2013­11­09 21:03:23 *************************** 2. row ***************************             CHANNEL_NAME: CHANNEL2                         ⋮  Thread stopped on error
    • 104 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Overview MySQL 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 shivji.jha@oracle.com ● Sven Sandberg sven.sandberg@oracle.com ● Luís Soares luis.soares@oracle.com  File bugs! ● http://bugs.mysql.com Next Steps
    • 107 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.