1、下载docker镜像:docker pull hub.c.163.com/library/mysql:5.6
2、配置mater节点cnf文件:
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、配置从节点主节点
在从节点设置主节点
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则成功
8、检查数据是否同步