赞
踩
docker pull mysql
docker run -it --name mytest -e MYSQL_ROOT_PASSWORD=123 -d mysql
docker exec -it mytest bash
docker cp mytest:/etc/mysql/my.cnf ./
docker run \
-it \
--name mysql_3306 \
--privileged \
--network wn_docker_net \
--ip 172.18.12.2 \
-p 3306:3306 \
-v /usr/local/software/mysql/3306/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/software/mysql/3306/data:/var/lib/mysql \
-v /usr/local/software/mysql/3306/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=123 \
-d mysql
# Custom config should go here
server-id=200 #server‘id
log_bin=wnhz-master-logbin #logbin name
binlog_format=row
docker run \
-it \
--name mysql_3310 \
--privileged \
--network wn_docker_net \
--ip 172.18.12.3 \
-p 3310:3306 \
-v /usr/local/software/mysql/3310/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/software/mysql/3310/data:/var/lib/mysql \
-v /usr/local/software/mysql/3310/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=123 \
-d mysql
server-id=201 #server‘id
log_bin=wnhz-slave-01-logbin #logbin name
relay_log=wnhz-slave-01-relay
read-only=1
create user 'slave'@'%' IDENTIFIED WITH mysql_native_password BY '123';
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'slave'@'%';
flush privileges;
change master to master_host='172.18.12.2', master_user='slave',master_password='123',MASTER_LOG_FILE='wnhz-master-logbin.000001',MASTER_LOG_POS=855;
change master to master_host='172.18.12.2', master_user='slave',master_password='123',MASTER_LOG_FILE='wnhz-master-logbin.000001',MASTER_LOG_POS=156;
在修改容器的配置文件之后;一定要将容器重启;不然会导致对配置文件的修改不生效;
关闭slave
stop slave;
重置slave: replaylog
reset slave;
重新配置 change to
show master status; #maseter
先在 master 中执行 show master status;
将查到的 MASTER_LOG_FILE,MASTER_LOG_POS 分别取代以下的 xxx
change master to master_host='172.18.12.2', master_user='slave',master_password='123',MASTER_LOG_FILE='xxx',MASTER_LOG_POS=xxx; #slave
重新运行slave
start slave;
重复创建 mysql_3310 的步骤
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。