社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
注意:由于从word中复制粘贴出来,可能 ' 变成了 ‘
创建网络
所有服务处于同一个网络,这里使用bridge
docker network create ep_network
使用GMT+8时间
echo 'Asia/Shanghai' > /etc/timezone
下载镜像
docker pull mysql:5.7.25
mkdir -p /data/mysql5
version: '3.7'
services:
mysql-master:
container_name: mysql-master
image: mysql:5.7.25
networks:
# 注意编号唯一
- ep_network
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --server-id=200 --log-bin=mysql-bin
environment:
- TZ=Asia/Shanghai
# mysql密码
- MYSQL_ROOT_PASSWORD=12345678
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
- /data/mysql5:/var/lib/mysql
ports:
- 3307:3306
networks:
ep_network:
name: ep_network
external: true
启动
docker-compose up -d
使用工具连接mysql, 或者docker exec进入容器, 上面设置用户为: root/12345678
执行sql
# 密码
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
show master status;
File, Position后面使用
创建数据保存目录
mkdir -p /data/mysql5-slave
编写docker-compose.yml文件
version: '3.7'
services:
mysql-slave:
container_name: mysql-slave
image: mysql:5.7.25
networks:
- ep_network
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --server-id=201 --log-bin=mysql-slave-bin --relay_log=ep-mysql-relay-bin --read_only=1
environment:
- TZ=Asia/Shanghai
# mysql密码
- MYSQL_ROOT_PASSWORD=12345678
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
- /data/mysql5-slave:/var/lib/mysql
ports:
- 3306:3306
networks:
ep_network:
name: ep_network
external: true
使用工具连接mysql, 上面设置用户为: root/12345678
执行sql
show slave status ;
# mysql-master为主mysql容器的hostname,因为主数据库实际端口已经暴露,也可以填写为主mysql所在物理机器的ip地址
change master to master_host='mysql-master', master_user='slave', master_password='123456', master_port=3306, master_log_file='mysql-bin.000006', master_log_pos=421, master_connect_retry=30;
show slave status ;
此时表示已经连接上了
创建只读用户
CREATE USER 'reporter'@'%' IDENTIFIED BY '123456';
grant select on *.* TO 'reporter'@'%' identified by '123456';
flush privileges;
主mysql新建数据库,查看从数据库,此时表已经同步。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!