当前位置:首页 > 数据库 > 正文内容

MySql 9 in Docker 使用克隆插件建立主从

邻居的猫1个月前 (12-09)数据库336

环境阐明

  1. Docker
  2. Windows 11
  3. MySql 9.1.0

建立过程

1. 预备主库

  1. 预备一个主库的配置文件 master.cnf
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-format=ROW
gtid_mode=ON
enforce-gtid-consistency=ON
log_slave_updates=ON
read_only=OFF
plugin-load=clone=mysql_clone.so
  1. 履行 Docker run 发动主库容器
docker run --name mysql-master --restart=unless-stopped -p 5300:3306 -e MYSQL_ROOT_PASSWORD=123456 -v C:\Users\Administrator\docker\MySql\replication\master\conf\master.cnf:/etc/mysql/conf.d/master.cnf:ro -v C:\Users\Administrator\docker\MySql\replication\master\data:/var/lib/mysql -d mysql
  1. 进入容器并登陆mysql
docker exec -it mysql-master bash 
mysql -u root -p
  1. 创立仿制用户
CREATE USER 'repl'@'%' IDENTIFIED with caching_sha2_password BY '123456';  
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';  
FLUSH PRIVILEGES;
  1. 退出
EXIT;

2. 预备从库

  1. 预备一个从库的配置文件 slave.cnf
[mysqld] 
server-id=2 
log-bin=mysql-bin 
binlog-format=ROW 
gtid_mode=ON 
enforce-gtid-consistency=ON 
read_only=ON
plugin-load=clone=mysql_clone.so
  1. 履行 Docker run
docker run --name mysql-slave --restart=unless-stopped -p 5301:3306 -e MYSQL_ROOT_PASSWORD=123456 -v C:\Users\Administrator\docker\MySql\replication\slave\conf\slave.cnf:/etc/mysql/conf.d/slave.cnf:ro -v C:\Users\Administrator\docker\MySql\replication\slave\data:/var/lib/mysql -d mysql
  1. 进入容器并登陆mysql
docker exec -it mysql-slave bash 
mysql -u root -p
  1. 答应克隆来历
SET GLOBAL clone_valid_donor_list = '172.17.0.6:3306';
  1. 履行克隆指令
CLONE INSTANCE FROM 'root'@'172.17.0.6':3306 IDENTIFIED BY '123456';
  1. 克隆完结,从库会主动重启

  2. 从头进入后能够检查克隆状况

select * from performance_schema.clone_status;
  1. 从库即可敞开主从仿制
CHANGE REPLICATION SOURCE TO 
	SOURCE_HOST='172.17.0.6', 
	SOURCE_PORT = 3306, 
	SOURCE_USER='repl', 
	SOURCE_PASSWORD='123456', 
	GET_SOURCE_PUBLIC_KEY=1, 
	SOURCE_AUTO_POSITION=1;

start REPLICA;

SHOW REPLICA STATUS\G;

验证

  1. 主库履行下列SQL,完结后检查从库是否同步
CREATE DATABASE test_db2;  -- 创立数据库  
USE test_db2;  -- 切换数据库  
CREATE TABLE users (  
                       id INT AUTO_INCREMENT PRIMARY KEY,  
                       name VARCHAR(50) NOT NULL,  
                       email VARCHAR(100) NOT NULL  
);  -- 创立表  
INSERT INTO users (name, email) VALUES ('tsj', '[email protected]');  -- 刺进数据  
SELECT * FROM users;  -- 检查数据

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=522

标签: MySql
分享给朋友:

“MySql 9 in Docker 使用克隆插件建立主从” 的相关文章

11月 | Apache SeaTunnel月度发展总结

11月 | Apache SeaTunnel月度发展总结

各位酷爱 Apache SeaTunnel 的小伙伴们,社区10月份月报更新啦!这儿将记载 SeaTunnel 社区每月的重要更新,欢迎重视! 月度Merge之星 感谢以下小伙伴 11 月份为 Apache SeaTunnel 所做的精彩奉献(排名不分先后): 用户名 用户名 用户名 用户名 用户...

个人征信大数据查询,了解信用状况,守护个人金融安全

您可以通过以下几种途径查询个人征信大数据:1. 中国人民银行征信中心: 提供个人信用报告查询服务及异议申请线上办理,确保信息安全。2. 个人信用信息服务平台: 该平台提供个人信用报告查询服务,需通过银行卡或数字证书验证身份,查询结果一般在24小时内反馈。3. 信用中国:...

mysql更新字段,mysql创建存储过程sql语句

mysql更新字段,mysql创建存储过程sql语句

MySQL更新字段通常涉及到使用`UPDATE`语句来修改表中特定行的数据。下面是一些基本的步骤和示例,帮助你理解如何更新MySQL中的字段:1. 确定需要更新的表和字段: 首先,你需要知道要更新的表名和具体的字段名。2. 确定更新的条件: 你需要确定哪些行需要更新。这通常是通过`WHE...

关闭数据库,安全、高效地终止数据库服务

关闭数据库,安全、高效地终止数据库服务

好的,请问您想关闭哪种类型的数据库?是关系型数据库(如MySQL、PostgreSQL)、非关系型数据库(如MongoDB、Redis),还是其他类型的数据库?数据库关闭指南:安全、高效地终止数据库服务在数据库管理中,关闭数据库是一个常见的操作,无论是进行维护、升级还是遇到紧急情况,正确地关闭数据库...

米多大数据引擎,助力企业实现营销数字化转型的利器

米多大数据引擎,助力企业实现营销数字化转型的利器

米多大数据引擎是由米多公司开发的一款基于“SaaS PaaS”驱动的营销数字化整体解决方案,主要服务于各行各业传统企业,帮助企业在不改变现有线下渠道结构的基础上,实现用户“所见即所得”的营销数字化目标。以下是米多大数据引擎的一些主要功能和用途: 主要功能1. 智能营销: 一物一码:通过为每个产...

镜像数据库,数据安全与高可用性的双重保障

镜像数据库(Mirroring Database)是一种数据库备份和灾难恢复技术,它通过在主数据库服务器和备用数据库服务器之间创建一个实时复制的数据库副本来实现数据保护。在镜像数据库中,所有的数据库操作(如插入、更新、删除等)都会在主数据库服务器上执行,同时这些操作会被实时地复制到备用数据库服务器上...