Docker Mysql 主从搭建

创建mysql网络
docker network create mysql_network
create master & slave cnf
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-format=ROW
expire_logs_days=7


[mysqld]
server-id=2
relay-log=mysql-relay-bin
read-only=1
create master node
docker run -d \
  --name mysql-master \
  -p 3307:3306 \
  --network mysql_network \
  -v /Users/zhaohongfeng/project/mysql-cluster/master.cnf:/etc/mysql/my.cnf \
  -e MYSQL_ROOT_PASSWORD=12345678 \
  -e MYSQL_DATABASE=exampledb \
  -e MYSQL_USER=replication_user \
  -e MYSQL_PASSWORD=12345678 \
  mysql:5.7
create master node user
docker exec -it mysql-master mysql -uroot -p

ALTER USER 'replication_user'@'%' IDENTIFIED BY '12345678';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
create slave node
docker run -d \
  --name mysql-slave \
  --network mysql_network \
  -p 3308:3306 \
  -v /Users/zhaohongfeng/project/mysql-cluster/slave.cnf:/etc/mysql/my.cnf \
  -e MYSQL_ROOT_PASSWORD=12345678 \
  mysql:5.7

  docker exec -it mysql-slave mysql -uroot -p

  CHANGE MASTER TO 
MASTER_HOST='mysql-master', 
MASTER_USER='replication_user', 
MASTER_PASSWORD='12345678', 
MASTER_LOG_FILE='mysql-bin.000004', 
MASTER_LOG_POS=1947;


START SLAVE;
SHOW SLAVE STATUS\G

results matching ""

    No results matching ""