Docker整合MySQL主从复制架构

该文章详细介绍了如何利用Docker容器创建一个MySQL的主从复制架构,包括创建数据目录、配置my.cnf文件、设置不同的server_id,以及在主库和从库上运行docker容器。主库授权从库进行复制,并提供了检查和启动复制状态的命令。
摘要由CSDN通过智能技术生成

mysql主从复制架构

mkdir -p /data/mysql/master/{conf,data}
mkdir -p /data/mysql/slave1/{conf,data}
mkdir -p /data/mysql/slave2/{conf,data}

echo "
[mysqld]
character-set-server=utf8
log-bin=mysql-bin
server_id=1
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
" > /data/mysql/master/conf/my.cnf

echo "
[mysqld]
character-set-server=utf8
log-bin=mysql-bin
server_id=2
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
" > /data/mysql/slave1/conf/my.cnf

echo "
[mysqld]
character-set-server=utf8
log-bin=mysql-bin
server_id=3
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
" > /data/mysql/slave2/conf/my.cnf

主库

docker run -d
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=root
-e TZ=Asia/Shanghai
-v /data/mysql/master/conf/my.cnf:/etc/my.cnf
-v /data/mysql/master/data:/var/lib/mysql
–network=mynet
–name mysql-master mysql:5.7

从库1
docker run -d
-p 3307:3306
-e MYSQL_ROOT_PASSWORD=root
-e TZ=Asia/Shanghai
-v /data/mysql/slave1/conf/my.cnf:/etc/my.cnf
-v /data/mysql/slave1/data:/var/lib/mysql
–network=mynet
–name mysql-slave1 mysql:5.7

从库2
docker run -d
-p 3308:3306
-e MYSQL_ROOT_PASSWORD=root
-e TZ=Asia/Shanghai
-v /data/mysql/slave2/conf/my.cnf:/etc/my.cnf
-v /data/mysql/slave2/data:/var/lib/mysql
–network=mynet
–name mysql-slave2 mysql:5.7

master设置用户
grant replication slave on . to sl@‘%’ identified by ‘root’;

show master status;

从库
CHANGE MASTER TO
MASTER_HOST=‘mysql-master’,
MASTER_USER=‘sl’,
MASTER_PASSWORD=‘root’,
MASTER_LOG_FILE=‘mysql-bin.000003’,
MASTER_LOG_POS=427;

start slave;

show slave status\G;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值