MySQL 8.0中如何通过Clone来实现一个远程从库的搭建
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章给大家分享的是有关MySQL 8.0中如何通过Clone来实现一个远程从库的搭建的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。环境如下Mater: 192.168.
千家信息网最后更新 2026年10月31日MySQL 8.0中如何通过Clone来实现一个远程从库的搭建
这篇文章给大家分享的是有关MySQL 8.0中如何通过Clone来实现一个远程从库的搭建的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
环境如下
Mater: 192.168.3.133 port:3307 doner 捐赠者
Slave: 192.168.3.134 port:3307 recipient 接受者
第一步:两台机器MySQL分别进行初始化安装
进入MySQL软件目录进行初始化安装并修改密码:(MySQL8.0.19 下载解压步骤省略)
[root@mgr2 bin]#cd /zcloud/db/abcMgr/abcMgr02/mysql/bin [root@mgr2 bin]# ./mysqld --initialize --user=mysql [root@mgr2 bin]# ./mysqld_safe --user=mysql & [1] 19556 [root@mgr2 bin]# 2020-03-12T01:32:26.503048Z mysqld_safe Logging to ‘/rock/mysqldata/error.log’. 2020-03-12T01:32:26.536292Z mysqld_safe Starting mysqld daemon with databases from /rock/mysqldata [root@mgr2 bin]# [root@mgr2 bin]# mysql -uroot -p -P3307 Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.19 Copyright © 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement. root@localhost:(none) 09:33:06 >alter user user() identified by ‘root1234’; Query OK, 0 rows affected (0.00 sec) root@localhost:(none) 09:33:26 >flush privileges; Query OK, 0 rows affected (0.00 sec) root@localhost:(none) 09:33:31 >exit Bye
第二步:doner节点192.168.3.133相关操作
–创建用户
root@localhost:(none) 10:07:05 >create user ‘donor_user’@‘192.168.3.134’ identified by ‘password’; Query OK, 0 rows affected (0.00 sec) root@localhost:(none) 10:07:07 >grant backup_admin on . to ‘donor_user’@‘192.168.3.134’; Query OK, 0 rows affected (0.01 sec)
–安装clone插件
root@localhost:(none) 10:23:16 >install plugin clone soname ‘mysql_clone.so’; Query OK, 0 rows affected (0.01 sec)
第三步:recipient节点192.168.3.134相关操作
–创建用户(也可以不创建用户,用root直接操作)
mysql> create user ‘recipient_user’@‘192.168.3.134’ identified by ‘password’;
–安装clone插件
mysql> grant clone_admin on . to ‘recipient_user’@‘192.168.3.134’;
–设置参数clone_valid_donor_list
root@localhost:(none) 03:28:40 >set global clone_valid_donor_list=‘192.168.3.133:3307’; Query OK, 0 rows affected (0.00 sec)
–换成recipient_user’@‘192.168.3.134’ 用户登陆,执行clone语句(这里其实可以用本地root用户直接进行登录操作)
[root@mgr3 bin]# mysql -urecipient_user -ppassword -P3307 -h292.168.3.134 recipient_user@192.168.3.134:(none) 03:39:46 >clone instance from ‘donor_user’@‘192.168.3.133’:3307 identified by ‘password’; Query OK, 0 rows affected (2.34 sec) recipient_user@192.168.3.134:(none) 03:39:57 >Restarting mysqld… 2020-03-12T07:40:01.285267Z mysqld_safe Number of processes running now: 0 2020-03-12T07:40:01.290169Z mysqld_safe mysqld restarted
至此,远程数据的克隆已经完成了。
通过查询两张表来监控一下克隆的进度和结果状态:
–查看clone进度和状态
root@localhost:(none) 03:34:49 >SELECT * FROM performance_schema.clone_progress; ±-----±----------±----------±---------------------------±---------------------------±--------±----------±----------±----------±-----------±--------------+ | ID | STAGE | STATE | BEGIN_TIME | END_TIME | THREADS | ESTIMATE | DATA | NETWORK | DATA_SPEED | NETWORK_SPEED | ±-----±----------±----------±---------------------------±---------------------------±--------±----------±----------±----------±-----------±--------------+ | 1 | DROP DATA | Completed | 2020-03-12 15:29:15.385694 | 2020-03-12 15:29:15.634609 | 1 | 0 | 0 | 0 | 0 | 0 | | 1 | FILE COPY | Completed | 2020-03-12 15:29:15.634765 | 2020-03-12 15:29:17.452961 | 1 | 465800520 | 465800520 | 465833356 | 0 | 0 | | 1 | PAGE COPY | Completed | 2020-03-12 15:29:17.453144 | 2020-03-12 15:29:17.554224 | 1 | 0 | 0 | 99 | 0 | 0 | | 1 | REDO COPY | Completed | 2020-03-12 15:29:17.554413 | 2020-03-12 15:29:17.654430 | 1 | 2560 | 2560 | 3031 | 0 | 0 | | 1 | FILE SYNC | Completed | 2020-03-12 15:29:17.654596 | 2020-03-12 15:29:17.730172 | 1 | 0 | 0 | 0 | 0 | 0 | | 1 | RESTART | Completed | 2020-03-12 15:29:17.730172 | 2020-03-12 15:29:22.160372 | 0 | 0 | 0 | 0 | 0 | 0 | | 1 | RECOVERY | Completed | 2020-03-12 15:29:22.160372 | 2020-03-12 15:29:22.478889 | 0 | 0 | 0 | 0 | 0 | 0 | ±-----±----------±----------±---------------------------±---------------------------±--------±----------±----------±----------±-----------±--------------+ 7 rows in set (0.00 sec) root@localhost:(none) 03:34:52 >SELECT * FROM performance_schema.clone_status\G *************************** 1. row *************************** ID: 1 PID: 0 STATE: Completed BEGIN_TIME: 2020-03-12 15:29:15.385 END_TIME: 2020-03-12 15:29:22.479 SOURCE: 192.168.3.133:3307 DESTINATION: LOCAL INSTANCE ERROR_NO: 0 ERROR_MESSAGE: BINLOG_FILE: mysql-bin.000002 BINLOG_POSITION: 421 GTID_EXECUTED: 3e75bf2f-6401-11ea-8995-000c29db65a6:1 1 row in set (0.00 sec)
–在主库133上建立复制账号:
root@localhost:(none) 04:12:23 >create user repl@‘192.168.3.%’ identified by ‘repl’; Query OK, 0 rows affected (0.00 sec) root@localhost:(none) 04:13:03 >grant all on . to repl@‘192.168.3.%’; Query OK, 0 rows affected (0.00 sec)
–在从库134上进行复制步骤的完成:
root@localhost:(none) 04:16:09 >change master to master_host=‘192.168.3.133’,master_port=3307,master_user=‘repl’,master_password=‘repl’,master_auto_position=1; Query OK, 0 rows affected, 2 warnings (0.00 sec) root@localhost:(none) 04:17:32 >start slave; Query OK, 0 rows affected (0.00 sec) root@localhost:(none) 04:17:35 >show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.3.133 Master_User: repl Master_Port: 3307 Connect_Retry: 60 Master_Log_File: mysql-bin.000002 Read_Master_Log_Pos: 1193 Relay_Log_File: mgr3-relay-bin.000002 Relay_Log_Pos: 904 Relay_Master_Log_File: mysql-bin.000002 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 1193 Relay_Log_Space: 1103 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 207 Master_UUID: 3e75bf2f-6401-11ea-8995-000c29db65a6 Master_Info_File: mysql.slave_master_info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: 3e75bf2f-6401-11ea-8995-000c29db65a6:3-4 Executed_Gtid_Set: 3e75bf2f-6401-11ea-8995-000c29db65a6:1-4 Auto_Position: 1 Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version: Master_public_key_path: Get_master_public_key: 0 Network_Namespace: 1 row in set (0.00 sec)
至此远程从库通过clone插件的方式搭建成功了,非常简单也非常快速,不需要mysqldump也不需要xtrabackup,在线搭建成功,非常快,以后用8.0可以考虑这种便捷的方式了。
感谢各位的阅读!关于"MySQL 8.0中如何通过Clone来实现一个远程从库的搭建"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
用户
插件
成功
内容
方式
更多
步骤
状态
篇文章
至此
节点
进度
不错
便捷
实用
参数
密码
捐赠者
接受者
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网黑科技
盈实互联网科技
智能科技公司是互联网公司吗
重庆互联网络科技
唐信互联网科技 大连
互联网科技论坛
互联网科技视频素材
四个字互联网科技公司取名
老年人脱离互联网科技的作文
互联网科技教育视频
成都互联网科技公司工作好不好
互联网科技扶贫时间
迪庆互联网科技招生
乌鲁木齐新华智原互联网科技学校
互联网科技资金流入
互联网科技股为什么大涨
互联网与数字科技关系
互联网高科技行业有哪些企业
玉溪新华互联网科技怎么选
互联网科技博主张洲
圆梦互联网科技
科技互联网公司装修
奇酷互联网络科技公司
互联网金融科技平台
赫美联合互联网科技
剑昆互联网络科技有限公司临桂
天津腾达互联网科技有限公司
河南住房之家互联网科技
互联网界的黑科技
科技和互联网行业的特点