MySQL 8.0中如何通过Clone来实现一个远程从库的搭建
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家分享的是有关MySQL 8.0中如何通过Clone来实现一个远程从库的搭建的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。环境如下Mater: 192.168.
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
win搭建git服务器
南关区网络技术质量保障
服务器怎么装win7系统
检查服务器超级管理员用户
华为软件开发云培训
访问路由器数据库
网络安全管理系统功能
任务管理器显示未接入服务器
哪个数据库能查mirna
程序软件开发公司美术组职位
数据库表格转移
济南软件开发公司哪个好
河北定制软件开发设计
网络安全手抄报评选通知
伊春网络安全和信息化
服务器装机怎么进系统
自己搭建服务器cenos
网络技术费用一般记什么科目
全球化使网络安全降低
csgo被封服务器为什么不行
关系型数据库需要的原则
如何给自己装一个服务器
东莞sfc软件开发
金凤区政务软件开发怎么收费
昆明网络安全管理办法
怎么让名师云课堂连接服务器
华为服务器波浪灯闪烁
如何有效的防止网络安全
盐城防爆刀片服务器直销
软件开发技术响应方案