如何使用Docker部署MySQL 5.7&8.0主从集群
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了如何使用Docker部署MySQL 5.7&8.0主从集群,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。镜像版本 5
千家信息网最后更新 2026年11月01日如何使用Docker部署MySQL 5.7&8.0主从集群
这篇文章主要介绍了如何使用Docker部署MySQL 5.7&8.0主从集群,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
镜像版本 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-binserver-id=1gtid-mode=ONenforce-gtid-consistency=ON
!includedir /etc/mysql/conf.d/!includedir /etc/mysql/mysql.conf.d/[mysqld]server-id=2gtid-mode=ONenforce-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 status\G"
如下状态为正常:
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'@'%';"
docker run -it --rm --network common-network mysql mysql -hmysql-slave -uroot -pPassw0rd \-e "SET PERSIST server_id=2;" \-e "SET PERSIST_ONLY gtid_mode=ON;" \-e "SET PERSIST_ONLY enforce_gtid_consistency=true; "
4、重启 master & slave
docker restart mysql-master mysql-slave
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 status\G"
如下状态为正常:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
> 验证数据同步
在 master 创建数据库 anoyi
docker run -it --rm --network common-network mysql mysql -hmysql-master -uroot -pPassw0rd \ -e "create database anoyi default character set utf8mb4 collate utf8mb4_general_ci;"
在 slave 查看数据库列表
docker run -it --rm --network common-network mysql mysql -hmysql-slave -uroot -pPassw0rd \ -e "show databases;"mysql: [Warning] Using a password on the command line interface can be insecure.+--------------------+| Database |+--------------------+| anoyi || information_schema || mysql || performance_schema || sys |+--------------------+
感谢你能够认真阅读完这篇文章,希望小编分享的"如何使用Docker部署MySQL 5.7&8.0主从集群"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
状态
篇文章
集群
数据
验证
主从
数据库
版本
网络
镜像
配置
两个
价值
兴趣
同时
文件
更多
朋友
用户
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技股
广州百单互联网科技有限公司
鸠鸠互联网科技
互联网巨头反垄断金融科技
互联网科技的发展
亿策互联网科技
互联网科技小额贷款
中国互联网金融科技基金
盛创互联网科技有限公司
创业天下互联网科技有限公司
花神(南京)互联网科技有限公司
广州市恰铎互联网科技有限公司
电子科技大学互联网创业大赛
天津腾达互联网科技有限公司
河南住房之家互联网科技
东莞新华互联网科技学校
玉溪新华互联网科技好不好
普陀区互联网教育科技管理办法
云南互联网科技学费
长沙易易互联网科技有限公司
喔噻互联网科技有限公司
喔噻互联网科技
以房互联网科技
互联网女皇 腾讯科技
互联网科技汛
千方科技属于互联网企业吗
高科技互联网发展前景如何
全球科技与互联网公司市值变化
易租星互联网科技有限公司
科技互联网企业在行动