千家信息网

如何在docker中安装mysql并搭建主从复制

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"如何在docker中安装mysql并搭建主从复制",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何在docker中安装mysql并搭建主
千家信息网最后更新 2026年11月02日如何在docker中安装mysql并搭建主从复制

本篇内容主要讲解"如何在docker中安装mysql并搭建主从复制",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何在docker中安装mysql并搭建主从复制"吧!

在docker中搭建一主两从的mysql复制环境,步骤如下:

1.docker mysql的安装
[root@localhost docker]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relati... 4306 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Crea... 294 [OK]
centurylink/mysql Image containing mysql. Optimized to be li... 51 [OK]
zabbix/zabbix-server-mysql Zabbix Server with MySQL database support 39 [OK]
zabbix/zabbix-web-nginx-mysql Zabbix frontend based on Nginx web-server ... 21 [OK]
imega/mysql Size: 149 MB, alpine:3.5, Mysql Server: 10... 11 [OK]
appcontainers/mysql Centos/Debian Based Customizable MySQL Con... 8 [OK]
marvambass/mysql MySQL Server based on Ubuntu 14.04 7 [OK]
zabbix/zabbix-proxy-mysql Zabbix proxy with MySQL database support 7 [OK]
bitnami/mysql Bitnami MySQL Docker Image 5 [OK]
dnhsoft/mysql-utf8 Inherits the official MySQL image configur... 5 [OK]
debezium/example-mysql Example MySQL database server with a simpl... 4 [OK]
frodenas/mysql A Docker Image for MySQL 3 [OK]
alterway/mysql Docker Mysql 3 [OK]
yfix/mysql Yfix docker built mysql 2 [OK]
drupaldocker/mysql MySQL for Drupal 2 [OK]
coscale/mysql CoScale custom configuration of the offici... 1 [OK]
lysender/mysql MySQL base image using Ubuntu 16.04 Xenial 1 [OK]
tozd/mysql MySQL (MariaDB fork) Docker image. 1 [OK]
projectomakase/mysql Docker image for MySQL 0 [OK]
1maa/mysql MySQL database 0 [OK]
datajoint/mysql MySQL image pre-configured to work smoothl... 0 [OK]
captomd/mysql CaptoMD mysql configuration 0 [OK]
cloudposse/mysql Improved `mysql` service with support for ... 0 [OK]
nanobox/mysql MySQL service for nanobox.io 0 [OK]
nanobox/mysql MySQL service for nanobox.io 0 [OK]


[root@localhost docker]# docker pull mysql:5.7
5.7: Pulling from library/mysql
cd0a524342ef: Downloading 21.63 MB/52.55 MB
d9c95f06c17e: Download complete
46b2d578f59a: Download complete
10fbc2bcc6e9: Download complete
91b1a29c3956: Download complete
5bf9316bd602: Download complete
69bd23f08b55: Download complete
4fb778132e94: Downloading 18.38 MB/78.96 MB
6913628d7744: Download complete
a477f36dc2e0: Download complete
c954124ae935: Download complete

2.创建并运行三个mysql容器
docker run -p 3306:3306 --name master -v /app/mysql/conf/my_master.cnf:/etc/mysql/my.cnf -v /app/mysql/master:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker run -p 3307:3306 --name slave1 -v /app/mysql/conf/my_slave1.cnf:/etc/mysql/my.cnf -v /app/mysql/slave1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker run -p 3308:3306 --name slave2 -v /app/mysql/conf/my_slave2.cnf:/etc/mysql/my.cnf -v /app/mysql/slave2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

3.在host上安装mysql客户端
[root@localhost ~]# yum --enablerepo=mysql57-community clean metadata
[root@localhost ~]# yum install -y mysql-community-client

4.连接到docker上的mysql
[root@localhost mysql]# mysql -uroot -p -h227.0.0.1 -P3306

5.连接到docker的mysql容器
docker exec -it master bash
分别查看三个容器的ip
172.17.0.2,172.17.0.3,172.17.0.4


6.配置主从复制关系
#在主库172.17.0.2上创建用户
mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'repl';
Query OK, 0 rows affected (0.11 sec)

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
Query OK, 0 rows affected (0.05 sec)

#查看主库日志位置
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 | 154 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.08 sec)

#分别在两个从库上启动复制
mysql> CHANGE MASTER TO
-> MASTER_HOST='172.17.0.2',
-> MASTER_PORT=3306,
-> MASTER_USER='repl',
-> MASTER_PASSWORD='repl',
-> MASTER_LOG_FILE='mysql-bin.000003',
-> MASTER_LOG_POS=154;
Query OK, 0 rows affected, 1 warning (0.57 sec)

mysql> start slave;
Query OK, 0 rows affected (0.03 sec)

到此,相信大家对"如何在docker中安装mysql并搭建主从复制"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

主从 中安 容器 三个 内容 学习 实用 更深 两个 位置 兴趣 实用性 实际 客户 客户端 操作简单 方法 日志 更多 朋友 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技金融是不是互联网金融 成都互联网科技公司 九亚互联网科技 腾讯科技 互联网女皇 互联网高科技企业 丰台科技园 互联网公司 四个字互联网科技公司取名 湖南洣水互联网科技有限公司扣款 互联网科技有哪些公司 武汉健翔互联网络科技有限公司 江阴互联网智能科技产品进口 天津腾达互联网科技有限公司 华夏恒生科技与互联网科技 互联网科技和法律行业 深圳市罗太互联网科技有限公司 每天都有哪些好的互联网科技 江苏苏星互联网科技有限公司 东营紫格互联网科技 信承诺互联网科技有限公司 科技互联网经济论坛 云之行互联网科技 互联网科技活动banner 顺网科技2021年互联网排名 互联网之后的科技是什么 华中科技大学互联网的牛人 山东大美朱楼互联网科技有限公司 互联网高科技行业有哪些企业 万物互联网智能科技 互联网科技收购价值 安徽零酒互联网科技有限公司
0