SlideShare a Scribd company logo
Georgi “Joro” Kodinov
Software Development Director
MySQL Server Team
Nov, 2019
MySQL Clone
A better way to migrate databases
1 © 2019 Oracle
Safe harbor 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, timing, and pricing of any features or functionality described for Oracle’s
products may change and remains at the sole discretion of Oracle Corporation.
2 © 2019 Oracle
What is MySQL Clone ?
A simple and efficient way to create
a MySQL instance replica
© 2019 Oracle3
WhyYet Another Method ?
• It’s easy to use: a single command
• It’s a data snapshot with consistent GTID and binary log position
• Data can be cloned locally or from remote
• It’s resumable !
© 2019 Oracle4
It’s FASTER Too !
5
https://mydbops.wordpress.com/2019/11/14/
mysql-clone-plugin-speed-test/
2 servers
CPU: 2 Cores
RAM: 4 GB
DISK: 200 GB SSD
approx. 122.40 GB data from sysbench
Clone: Use Cases
© 2019 Oracle6
Provision a new replication node
© 2019 Oracle7
Master
Slave
Slave 2
Re-provision a returning node
© 2019 Oracle8
BinlogMaster SlaveData ??
Clone: Operation
© 2019 Oracle9
Terminology
© 2019 Oracle10
Donor RecipientData
Prerequisites on the Donor
• Install the plugin:
INSTALL PLUGIN clone SONAME 'mysql_clone.so';
• Grant BACKUP_ADMIN to a user account
CREATE USER foo …;
GRANT BACKUP_ADMIN TO foo;
© 2019 Oracle11
Prerequisites on the Recipient
• Install the plugin:
INSTALL PLUGIN clone SONAME 'mysql_clone.so';
• Grant CLONE_ADMIN to a user account
CREATE USER bar …;
GRANT CLONE_ADMIN TO bar;
• Allow the donor host
SET GLOBAL clone_valid_donor_list='donor_computer:3306';
© 2019 Oracle12
On the recipient, as “bar”
CLONE INSTANCE FROM foo@donor_computer:3306
IDENTIFIED BY 'foo_pwd‘
DATA DIRECTORY = 'clone_dir'
REQUIRE SSL
© 2019 Oracle13
Clone: What Has Just Happened ?
© 2019 Oracle14
Clone Stages
© 2019 Oracle15
Init
Data
Files
File Copy
Modified
Page IDs
Page Copy
Redo
Logs
Redo Copy Done
Clone: Network Failure Recovery
© 2019 Oracle16
Donor RecipientData
Less than 5 min
Clone Monitoring: performance_schema.clone_status
mysql> SELECT STATE FROM performance_schema.clone_status;
+-----------+
| STATE |
+-----------+
| Completed |
+-----------+
© 2019 Oracle17
Clone Monitoring: performance_schema.clone_progress
mysql> SELECT STAGE, STATE, END_TIME FROM performance_schema.clone_progress;
+-----------+-----------+----------------------------+
| stage | state | end_time |
+-----------+-----------+----------------------------+
| DROP DATA | Completed | 2019-10-27 14:45:43.141261 |
| FILE COPY | Completed | 2019-10-27 14:45:44.457572 |
| PAGE COPY | Completed | 2019-10-27 14:45:44.577330 |
| REDO COPY | Completed | 2019-10-27 14:45:44.679570 |
| FILE SYNC | Completed | 2019-10-27 14:45:44.918547 |
| RESTART | Completed | 2019-10-27 14:45:48.583565 |
| RECOVERY | Completed | 2019-10-27 14:45:49.626595 |
+-----------+-----------+----------------------------+
© 2019 Oracle18
Performance And Resource Use Control
Variable Type Meaning
clone_max_concurrency Int (Maximum) number of cloning threads
clone_autotune_concurrency Bool Enable dynamic spawning of cloning threads
clone_max_network_bandwidth Int,
Mbps
(recipient only) limit network usage
clone_max_data_bandwidth Int,
Mbps
(recipient only) limit clone transfer rate
© 2019 Oracle19
Clone Limitations
• Does not clone configuration values
• Does not clone binary logs
• Supports only InnoDB
• Blocks all concurrent DDLs on the Donor
• Will FULLY override recipient data
• Cloning can be done only to the SAME server version
• Doesn’t work over the X protocol
© 2019 Oracle20
Further Reading
• Reference Manual
• https://dev.mysql.com/doc/refman/8.0/en/clone-plugin.html
• Blogs
• https://mysqlserverteam.com/clone-create-mysql-instance-replica/
• https://mysqlhighavailability.com/mysql-innodb-cluster-automatic-node-provisioning
• https://mysqlhighavailability.com/a-breakthrough-in-usability-automatic-node-provisioning
• https://mysqlhighavailability.com/automatic-provisioning-in-group-replication
• InnoDB cluster video
• https://lefred.be/content/migrate-from-a-single-mysql-instance-to-mysql-innodb-cluster-
using-clone-plugin/
© 2019 Oracle21
Thank you !
Georgi Kodinov, Software Development Director
Georgi.Kodinov@oracle.com
© 2019 Oracle22
2019  BGOUG Autumn MySQL Clone

More Related Content

What's hot (20)

PDF
Glassfish AP server 連結 oracle DB 11g
Hung-Yi Chen
 
PDF
CTU June 2011 - Things that Every ASP.NET Developer Should Know
Spiffy
 
PDF
2012 replication
sqlhjalp
 
PPTX
JBoss AS 7
C2B2 Consulting
 
PPTX
Jboss App Server
acosdt
 
PPTX
Jboss Tutorial Basics
Anandraj Kulkarni
 
PDF
JBoss Enterprise Application Platform 6 Troubleshooting
Alexandre Cavalcanti
 
PDF
2012 scale replication
sqlhjalp
 
PDF
JBoss EAP / WildFly, State of the Union
Dimitris Andreadis
 
PDF
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
Dimitris Andreadis
 
PDF
WildFly BOF and V9 update @ Devoxx 2014
Dimitris Andreadis
 
PDF
Deploying Containerised Open-Source CSP Platforms
Angel Borroy López
 
DOCX
Understanding a web server and types of web servers ppt
Nivi Sharma
 
PDF
My sql susecon_crashcourse_2012
sqlhjalp
 
PPT
J boss
jrfx448
 
PDF
Devoxx 2013, WildFly BOF
Dimitris Andreadis
 
PDF
Mysql nowwhat
sqlhjalp
 
PDF
JBoss started guide
franarayah
 
KEY
JBoss AS7 Overview
JBug Italy
 
PPTX
Ausoug glassfish perth
LansenConsulting
 
Glassfish AP server 連結 oracle DB 11g
Hung-Yi Chen
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
Spiffy
 
2012 replication
sqlhjalp
 
JBoss AS 7
C2B2 Consulting
 
Jboss App Server
acosdt
 
Jboss Tutorial Basics
Anandraj Kulkarni
 
JBoss Enterprise Application Platform 6 Troubleshooting
Alexandre Cavalcanti
 
2012 scale replication
sqlhjalp
 
JBoss EAP / WildFly, State of the Union
Dimitris Andreadis
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
Dimitris Andreadis
 
WildFly BOF and V9 update @ Devoxx 2014
Dimitris Andreadis
 
Deploying Containerised Open-Source CSP Platforms
Angel Borroy López
 
Understanding a web server and types of web servers ppt
Nivi Sharma
 
My sql susecon_crashcourse_2012
sqlhjalp
 
J boss
jrfx448
 
Devoxx 2013, WildFly BOF
Dimitris Andreadis
 
Mysql nowwhat
sqlhjalp
 
JBoss started guide
franarayah
 
JBoss AS7 Overview
JBug Italy
 
Ausoug glassfish perth
LansenConsulting
 

Similar to 2019 BGOUG Autumn MySQL Clone (20)

PPTX
2020 pre fosdem mysql clone
Georgi Kodinov
 
PPTX
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
Geir Høydalsvik
 
PDF
Confoo 202 - MySQL Group Replication and ReplicaSet
Dave Stokes
 
PDF
MySQL InnoDB Cluster - Advanced Configuration & Operations
Frederic Descamps
 
PDF
MySQL InnoDB Cluster / ReplicaSet - Making Provisioning & Troubleshooting as ...
Miguel Araújo
 
PDF
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
Frederic Descamps
 
PPT
My two cents about Mysql backup
Andrejs Vorobjovs
 
PDF
MySQL For Linux Sysadmins
Morgan Tocker
 
PPTX
Percona Live London 2014 - MySQL Backup Strategy @ IEDR
Marcelo Altmann
 
PPTX
BGOUG17: Cloudy with a chance of MySQL
Georgi Kodinov
 
PDF
MySQL Technology Overview
Keith Hollman
 
PDF
Replication Whats New in Mysql 8
Luís Soares
 
PDF
MySQL Developer Day conference: MySQL Replication and Scalability
Shivji Kumar Jha
 
PDF
Using MySQL in Automated Testing
Morgan Tocker
 
PDF
New VMware Continuent 5.0 - A powerful and cost-efficient Oracle GoldenGate a...
Continuent
 
PPT
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
OracleMySQL
 
PDF
MySQL 8.0 InnoDB Cluster - Easiest Tutorial
Frederic Descamps
 
PDF
A Backup Today Saves Tomorrow
Andrew Moore
 
PPTX
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016
Dave Stokes
 
PDF
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
Miguel Araújo
 
2020 pre fosdem mysql clone
Georgi Kodinov
 
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
Geir Høydalsvik
 
Confoo 202 - MySQL Group Replication and ReplicaSet
Dave Stokes
 
MySQL InnoDB Cluster - Advanced Configuration & Operations
Frederic Descamps
 
MySQL InnoDB Cluster / ReplicaSet - Making Provisioning & Troubleshooting as ...
Miguel Araújo
 
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
Frederic Descamps
 
My two cents about Mysql backup
Andrejs Vorobjovs
 
MySQL For Linux Sysadmins
Morgan Tocker
 
Percona Live London 2014 - MySQL Backup Strategy @ IEDR
Marcelo Altmann
 
BGOUG17: Cloudy with a chance of MySQL
Georgi Kodinov
 
MySQL Technology Overview
Keith Hollman
 
Replication Whats New in Mysql 8
Luís Soares
 
MySQL Developer Day conference: MySQL Replication and Scalability
Shivji Kumar Jha
 
Using MySQL in Automated Testing
Morgan Tocker
 
New VMware Continuent 5.0 - A powerful and cost-efficient Oracle GoldenGate a...
Continuent
 
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
OracleMySQL
 
MySQL 8.0 InnoDB Cluster - Easiest Tutorial
Frederic Descamps
 
A Backup Today Saves Tomorrow
Andrew Moore
 
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016
Dave Stokes
 
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
Miguel Araújo
 
Ad

More from Georgi Kodinov (20)

PPTX
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
PPTX
2023 TurnovoConf MySQL Authentication.pptx
Georgi Kodinov
 
PPTX
2022 TurnovoConf MySQL за начинаещи.pptx
Georgi Kodinov
 
PPTX
2019 indit blackhat_honeypot your database server
Georgi Kodinov
 
PPTX
PLe19 How To Instrument Your Code in performance_schema
Georgi Kodinov
 
PPTX
DevTalks.ro 2019 What's New in MySQL 8.0 Security
Georgi Kodinov
 
PPTX
DevTalks.ro 2019 MySQL Data Masking Talk
Georgi Kodinov
 
PPTX
FOSDEM19 MySQL Component Infrastructure
Georgi Kodinov
 
PPTX
MySQL Enterprise Data Masking
Georgi Kodinov
 
PPTX
Percona Live Europe 2018: What's New in MySQL 8.0 Security
Georgi Kodinov
 
PPTX
How to add stuff to MySQL
Georgi Kodinov
 
PPTX
Pl18 saving bandwidth
Georgi Kodinov
 
PPTX
Pl17: MySQL 8.0: security
Georgi Kodinov
 
PPTX
Fosdem17 honeypot your database server
Georgi Kodinov
 
PPTX
2016 oSC MySQL Firewall
Georgi Kodinov
 
PPTX
OUGLS 2016: Guided Tour On The MySQL Source Code
Georgi Kodinov
 
PPTX
OUGLS 2016: How profiling works in MySQL
Georgi Kodinov
 
PPTX
Openfest15 MySQL Plugin Development
Georgi Kodinov
 
PPTX
OpenSuse 2015: Secure Deployment Changes Coming in MySQL 5.7
Georgi Kodinov
 
PPTX
BGOUG 2014 Decrease Your MySQL Attack Surface
Georgi Kodinov
 
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
2023 TurnovoConf MySQL Authentication.pptx
Georgi Kodinov
 
2022 TurnovoConf MySQL за начинаещи.pptx
Georgi Kodinov
 
2019 indit blackhat_honeypot your database server
Georgi Kodinov
 
PLe19 How To Instrument Your Code in performance_schema
Georgi Kodinov
 
DevTalks.ro 2019 What's New in MySQL 8.0 Security
Georgi Kodinov
 
DevTalks.ro 2019 MySQL Data Masking Talk
Georgi Kodinov
 
FOSDEM19 MySQL Component Infrastructure
Georgi Kodinov
 
MySQL Enterprise Data Masking
Georgi Kodinov
 
Percona Live Europe 2018: What's New in MySQL 8.0 Security
Georgi Kodinov
 
How to add stuff to MySQL
Georgi Kodinov
 
Pl18 saving bandwidth
Georgi Kodinov
 
Pl17: MySQL 8.0: security
Georgi Kodinov
 
Fosdem17 honeypot your database server
Georgi Kodinov
 
2016 oSC MySQL Firewall
Georgi Kodinov
 
OUGLS 2016: Guided Tour On The MySQL Source Code
Georgi Kodinov
 
OUGLS 2016: How profiling works in MySQL
Georgi Kodinov
 
Openfest15 MySQL Plugin Development
Georgi Kodinov
 
OpenSuse 2015: Secure Deployment Changes Coming in MySQL 5.7
Georgi Kodinov
 
BGOUG 2014 Decrease Your MySQL Attack Surface
Georgi Kodinov
 
Ad

Recently uploaded (20)

PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PDF
Add Background Images to Charts in IBM SPSS Statistics Version 31.pdf
Version 1 Analytics
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PDF
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
Add Background Images to Charts in IBM SPSS Statistics Version 31.pdf
Version 1 Analytics
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 

2019 BGOUG Autumn MySQL Clone

  • 1. Georgi “Joro” Kodinov Software Development Director MySQL Server Team Nov, 2019 MySQL Clone A better way to migrate databases 1 © 2019 Oracle
  • 2. Safe harbor 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, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. 2 © 2019 Oracle
  • 3. What is MySQL Clone ? A simple and efficient way to create a MySQL instance replica © 2019 Oracle3
  • 4. WhyYet Another Method ? • It’s easy to use: a single command • It’s a data snapshot with consistent GTID and binary log position • Data can be cloned locally or from remote • It’s resumable ! © 2019 Oracle4
  • 5. It’s FASTER Too ! 5 https://mydbops.wordpress.com/2019/11/14/ mysql-clone-plugin-speed-test/ 2 servers CPU: 2 Cores RAM: 4 GB DISK: 200 GB SSD approx. 122.40 GB data from sysbench
  • 6. Clone: Use Cases © 2019 Oracle6
  • 7. Provision a new replication node © 2019 Oracle7 Master Slave Slave 2
  • 8. Re-provision a returning node © 2019 Oracle8 BinlogMaster SlaveData ??
  • 11. Prerequisites on the Donor • Install the plugin: INSTALL PLUGIN clone SONAME 'mysql_clone.so'; • Grant BACKUP_ADMIN to a user account CREATE USER foo …; GRANT BACKUP_ADMIN TO foo; © 2019 Oracle11
  • 12. Prerequisites on the Recipient • Install the plugin: INSTALL PLUGIN clone SONAME 'mysql_clone.so'; • Grant CLONE_ADMIN to a user account CREATE USER bar …; GRANT CLONE_ADMIN TO bar; • Allow the donor host SET GLOBAL clone_valid_donor_list='donor_computer:3306'; © 2019 Oracle12
  • 13. On the recipient, as “bar” CLONE INSTANCE FROM foo@donor_computer:3306 IDENTIFIED BY 'foo_pwd‘ DATA DIRECTORY = 'clone_dir' REQUIRE SSL © 2019 Oracle13
  • 14. Clone: What Has Just Happened ? © 2019 Oracle14
  • 15. Clone Stages © 2019 Oracle15 Init Data Files File Copy Modified Page IDs Page Copy Redo Logs Redo Copy Done
  • 16. Clone: Network Failure Recovery © 2019 Oracle16 Donor RecipientData Less than 5 min
  • 17. Clone Monitoring: performance_schema.clone_status mysql> SELECT STATE FROM performance_schema.clone_status; +-----------+ | STATE | +-----------+ | Completed | +-----------+ © 2019 Oracle17
  • 18. Clone Monitoring: performance_schema.clone_progress mysql> SELECT STAGE, STATE, END_TIME FROM performance_schema.clone_progress; +-----------+-----------+----------------------------+ | stage | state | end_time | +-----------+-----------+----------------------------+ | DROP DATA | Completed | 2019-10-27 14:45:43.141261 | | FILE COPY | Completed | 2019-10-27 14:45:44.457572 | | PAGE COPY | Completed | 2019-10-27 14:45:44.577330 | | REDO COPY | Completed | 2019-10-27 14:45:44.679570 | | FILE SYNC | Completed | 2019-10-27 14:45:44.918547 | | RESTART | Completed | 2019-10-27 14:45:48.583565 | | RECOVERY | Completed | 2019-10-27 14:45:49.626595 | +-----------+-----------+----------------------------+ © 2019 Oracle18
  • 19. Performance And Resource Use Control Variable Type Meaning clone_max_concurrency Int (Maximum) number of cloning threads clone_autotune_concurrency Bool Enable dynamic spawning of cloning threads clone_max_network_bandwidth Int, Mbps (recipient only) limit network usage clone_max_data_bandwidth Int, Mbps (recipient only) limit clone transfer rate © 2019 Oracle19
  • 20. Clone Limitations • Does not clone configuration values • Does not clone binary logs • Supports only InnoDB • Blocks all concurrent DDLs on the Donor • Will FULLY override recipient data • Cloning can be done only to the SAME server version • Doesn’t work over the X protocol © 2019 Oracle20
  • 21. Further Reading • Reference Manual • https://dev.mysql.com/doc/refman/8.0/en/clone-plugin.html • Blogs • https://mysqlserverteam.com/clone-create-mysql-instance-replica/ • https://mysqlhighavailability.com/mysql-innodb-cluster-automatic-node-provisioning • https://mysqlhighavailability.com/a-breakthrough-in-usability-automatic-node-provisioning • https://mysqlhighavailability.com/automatic-provisioning-in-group-replication • InnoDB cluster video • https://lefred.be/content/migrate-from-a-single-mysql-instance-to-mysql-innodb-cluster- using-clone-plugin/ © 2019 Oracle21
  • 22. Thank you ! Georgi Kodinov, Software Development Director [email protected] © 2019 Oracle22

Editor's Notes

  • #9: * The node is far behind and binary log sync would take long time. * Binary logs are not available to sync
  • #11: Recipient: Server instance, where the clone statement is executed. Donor: The source server instance from which the data is going to be cloned. The Donor collects all its data and metadata stored in the InnoDB storage engine at a consistent snapshot to replace the data in Recipient. After successful execution of a CLONE SQL statement the Recipient server is restarted automatically. The restart involves recovery. Once restarted, recipient is a clone of donor server!
  • #16: Donor dynamic snapshot is transferred in three stages. File Copy Page Copy Redo Copy
  • #17: Recipient: Server instance, where the clone statement is executed. Donor: The source server instance from which the data is going to be cloned. The Donor collects all its data and metadata stored in the InnoDB storage engine at a consistent snapshot to replace the data in Recipient. After successful execution of a CLONE SQL statement the Recipient server is restarted automatically. The restart involves recovery. Once restarted, recipient is a clone of donor server!
  • #18: One or zero rows ID A unique cloning operation identifier in the current MySQL server instance. PID Process list ID of the session executing the cloning operation. STATE Current state of the cloning operation. Values include Not Started, In Progress, Completed, and Failed. BEGIN_TIME A timestamp in 'YYYY-MM-DD hh:mm:ss[.fraction]' format that shows when the cloning operation started. END_TIME A timestamp in 'YYYY-MM-DD hh:mm:ss[.fraction]' format that shows when the cloning operation finished. Reports NULL if the operation has not ended. SOURCE The donor MySQL server address in 'HOST:PORT' format. The column displays 'LOCAL INSTANCE' for a local cloning operation. DESTINATION The directory being cloned to. ERROR_NO The error number reported for a failed cloning operation. ERROR_MESSAGE The error message string for a failed cloning operation. BINLOG_FILE The name of the binary log file up to which data is cloned. BINLOG_POSITION The binary log file offset up to which data is cloned. GTID_EXECUTED The GTID value for the last cloned transaction.
  • #19: ID A unique cloning operation identifier in the current MySQL server instance. STAGE The name of the current cloning stage. Stages include DROP DATA, FILE COPY, PAGE_COPY, REDO_COPY, FILE_SYNC, RESTART, and RECOVERY. STATE The current state of the cloning stage. States include Not Started, In Progress, and Completed. BEGIN_TIME A timestamp in 'YYYY-MM-DD hh:mm:ss[.fraction]' format that shows when the cloning stage started. Reports NULL if the stage has not started. END_TIME A timestamp in 'YYYY-MM-DD hh:mm:ss[.fraction]' format that shows when the cloning stage finished. Reports NULL if the stage has not ended. THREADS The number of concurrent threads used in the stage. ESTIMATE The estimated amount of data for the current stage, in bytes. DATA The amount of data transferred in current state, in bytes. NETWORK The amount of network data transferred in the current state, in bytes. DATA_SPEED The current actual speed of data transfer, in bytes per second. This value may differ from the requested maximum data transfer rate defined by clone_max_data_bandwidth. NETWORK_SPEED The current speed of network transfer in bytes per second.
  • #20: Clone plugin uses multiple connections from recipient to donor server. - clone_max_concurrency limits maximum connections Clone operation starts with 1 connection thread and threads are increased in steps. Auto tuning checks and stop spawning new connections if no significant performance improvement is noticed. - clone_autotune_concurrency If cpu, i/o, Network resource is saturated then increasing connections/threads could degrade performance and could also impact donor performance. Auto tuning helps here.