docker 环境下创建mysql主从复制集群

1、下载docker镜像:docker pull hub.c.163.com/library/mysql:5.6

2、配置mater节点cnf文件:

docker 环境下创建mysql主从复制集群_第1张图片

docker 环境下创建mysql主从复制集群_第2张图片

3、启动master节点

docker run --name mysql-master -v /usr/local/src/master:/etc/mysql/conf.d \

-p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d hub.c.163.com/library/mysql:5.6

4、对复制用户赋予权限,ip为从节点ip,这里通过docker将ip装在同一个节点192.168.1.119上

GRANT REPLICATION  SLAVE,  REPLICATION  CLIENT  ON  *.* TO  'repl'@'192.168.1.119'  IDENTIFIED  BY '123456';

FLUSH  PRIVILEGES;

5、主节点创建库,插入数据,模拟真实环境

CREATE DATABASE IF NOT EXISTS le  DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

USE le;

DROP TABLE IF EXISTS `users`;

CREATE TABLE `users`  (

`Id` INT(11) NOT NULL AUTO_INCREMENT,

`userName` VARCHAR(255) NOT NULL DEFAULT '' COMMENT ' 用户名',

PRIMARY KEY (`Id`)

) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='用户信息表';

INSERT INTO `users` VALUES (1,'James  Harden'),(2,'Chris Paul'),(3,'Carmelo Anthony');

6、迁移le数据库至从节点

         主节点锁表

         导出数据

         解锁

         从节点创建数据库

CREATE DATABASE IF NOT EXISTS le  DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

         从节点导入数据库

7、配置从节点主节点

docker 环境下创建mysql主从复制集群_第3张图片

         在从节点设置主节点

CHANGE  MASTER  TO  MASTER_HOST='192.168.1.119',  MASTER_USER='repl',

MASTER_PASSWORD='123456',  MASTER_PORT=3307,  MASTER_LOG_FILE='edu-mysql-bin.000004',

MASTER_LOG_POS=932,  MASTER_CONNECT_RETRY=30;     

         执行start slave命令,Slave_IO_Running、Slave_SQL_Running均为Yes则成功

docker 环境下创建mysql主从复制集群_第4张图片

8、检查数据是否同步

你可能感兴趣的:(docker 环境下创建mysql主从复制集群)