标签:state tin 使用 ati restart host nec 原因 sql
# --name 为容器指定名称,这里是master
# -p?将容器的指定端口映射到主机的指定端口,这里是将容器的3306端口映射到主机的3306端口
# -e?设置环境变量,这里是指定root账号的密码为root
# -d?后台运行容器,并返回容器ID mysql:5.7.13 指定运行的mysql版本
docker run --name master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.13
docker run --name slave1 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.13
GRANT REPLICATION SLAVE ON *.* TO ‘backup‘@‘%‘ IDENTIFIED BY ‘backup‘;
FLUSH PRIVILEHES;
SHOW GRANTS FOR ‘backup‘@‘%‘;
docker cp master:/etc/mysql/my.cnf /opt/mysql/master
docker cp slave1:/etc/mysql/my.cnf /opt/mysql/slave1
#[mysqld] 在该节点后加上
#log-bin=mysql-bin使用binary logging,mysql-bin是log文件名的前缀
#server-id=1唯一服务器ID
log-bin=mysql-bin
server-id=1
#[mysqld] 在该节点后加上
log-bin=mysql-bin
server-id=2
docker cp /opt/mysql/master/my.cnf master:/etc/mysql/my.cnf
docker cp /opt/mysql/slave1/my.cnf slave1:/etc/mysql/my.cnf
docker restart master
docker restart slave1
#查看容器运行的各种数据 docker inspect master
#MASTER_HOST的IP可以通过 docker inspect master 查看
CHANGE MASTER TO MASTER_HOST=‘172.17.0.2‘,MASTER_PORT=3306,MASTER_USER=‘backup‘,MASTER_PASSWORD=‘backup‘;
START SLAVE;
# Slave_IO_State字段状态
#Waiting for master to send event 正常
#Connecting to master 配置失败,具体原因查看日志追踪 docker logs slave1 -f
# Slave_IO_Running 字段为 Yes
# Slave_SQL_Running 字段为 Yes
SHOW SLAVE STATUS;
在master上创建数据库、表、插入数据,看看再salve1上是否存在。
标签:state tin 使用 ati restart host nec 原因 sql
原文地址:https://www.cnblogs.com/zendwang/p/docker-install-mysql-master-slave.html