马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
环境说明
- Docker
- Windows 11
- MySql 9.1.0
搭建步调
1. 准备主库
- [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
复制代码- 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
复制代码- docker exec -it mysql-master bash
- mysql -u root -p
复制代码- CREATE USER 'repl'@'%' IDENTIFIED with caching_sha2_password BY '123456';
- GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
- FLUSH PRIVILEGES;
复制代码 2. 准备从库
- [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
复制代码- 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
复制代码- docker exec -it mysql-slave bash
- mysql -u root -p
复制代码- SET GLOBAL clone_valid_donor_list = '172.17.0.6:3306';
复制代码- CLONE INSTANCE FROM 'root'@'172.17.0.6':3306 IDENTIFIED BY '123456';
复制代码
- 克隆完成,从库会主动重启
- 重新进入后可以查看克隆状态
- select * from performance_schema.clone_status;
复制代码- 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;
复制代码 验证
- 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', 'tsj@example.com'); -- 插入数据
- SELECT * FROM users; -- 查看数据
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |