mysql8.0和5.7可以主从_使用Docker部署MySQL 5.7&8.0主从集群的方法步骤 - 易采站长站...

> 部署 MySQL 5.7 集群 master & slave (仅测试用)

镜像版本 5.7

1、创建 overlay 网络

docker network create --driver overlay common-network --attachable

2、编辑两个配置文件 master.cnf 与 slave.cnf

!includedir /etc/mysql/conf.d/

!includedir /etc/mysql/mysql.conf.d/

[mysqld]

log-bin=mysql-bin

server-id=1

gtid-mode=ON

enforce-gtid-consistency=ON

!includedir /etc/mysql/conf.d/

!includedir /etc/mysql/mysql.conf.d/

[mysqld]

server-id=2

gtid-mode=ON

enforce-gtid-consistency=ON

3、启动 2 个 MYSQL:mysql-master 、mysql-slave

docker run -d

--name mysql-master

--network common-network

-e MYSQL_ROOT_PASSWORD=Passw0rd

-v `pwd`/master.cnf:/etc/mysql/my.cnf

-p 3306:3306

-d mysql:5.7

docker run -d

--name mysql-slave

--network common-network

-e MYSQL_ROOT_PASSWORD=Passw0rd

-v `pwd`/slave.cnf:/etc/mysql/my.cnf

-p 3307:3306

-d mysql:5.7

4、添加从库用于复制的用户

docker run -it --rm --network common-network mysql mysql -hmysql-master -uroot -pPassw0rd

-e "CREATE USER 'repl'@'%' IDENTIFIED BY 'password' REQUIRE SSL; "

-e "GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';"

5、连接 master & slave

docker run -it --rm --network common-network mysql mysql -hmysql-slave -uroot -pPassw0rd

-e "CHANGE MASTER TO MASTER_HOST='mysql-master', MASTER_PORT=3306, MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_AUTO_POSITION=1, MASTER_SSL=1;"

-e "START SLAVE;"

6、验证 slave 状态

docker run -it --rm --network common-network mysql mysql -hmysql-slave -uroot -pPassw0rd -e "show slave statusG"

如下状态为正常:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

> 部署 MySQL 8.0 集群 master & slave(仅测试用)

镜像版本 mysql:8.0

1、创建 overlay 网络

docker network create --driver overlay common-network --attachable

2、启动 2 个 MYSQL:mysql-master 、mysql-slave

docker run -d

--name mysql-master

--network common-network

-e MYSQL_ROOT_PASSWORD=Passw0rd

-p 3306:3306

-d mysql --default-authentication-plugin=mysql_native_password

docker run -d

--name mysql-slave

--network common-network

-e MYSQL_ROOT_PASSWORD=Passw0rd

-p 3307:3306

-d mysql --default-authentication-plugin=mysql_native_password

3、配置 master & slave

docker run -it --rm --network common-network mysql mysql -hmysql-master -uroot -pPassw0rd

-e "SET PERSIST server_id=1;"

-e "SET PERSIST_ONLY gtid_mode=ON;"

-e "SET PERSIST_ONLY enforce_gtid_consistency=true; "

-e "CREATE USER 'repl'@'%' IDENTIFIED BY 'password' REQUIRE SSL; "

-e "GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值