Docker swarm 配置 mysql 主从
一创建服务器挂在目录
mkdir -pv /data/docker/composes/prod/middleware/mysql/master/{conf,data};
mkdir -pv /data/docker/composes/prod/middleware/mysql/slave/{conf,data};
touch /data/docker/composes/prod/middleware/mysql/master/conf/my.cnf
touch /data/docker/composes/prod/middleware/mysql/slave/conf/my.cnf
二mysql .yml
version: '3'
services:
mysql_master:
image: 10.11.32.23:5000/mysql:v5.7
ports:
- 3310:3306
networks:
#指定容器加入的网络
- GIE-ECP-overlay-network
environment:
#最好使用此设定时区,其它静像也可以使用
- TZ=CST-8
#指定mysql的访问密码
- MYSQL_ROOT_PASSWORD=123456
#可以加--default-time-zone='+8:00'设定时区
volumes:
- /data/docker/composes/prod/middleware/mysql/master/data:/var/lib/mysql
- /data/docker/composes/prod/middleware/mysql/master/conf/my.cnf:/etc/mysql/my.cnf
- /data/docker/composes/prod/middleware/mysql/master/logs/:/var/log/mysql
command: --character-set-server=utf8
--collation-server=utf8_general_ci
--sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
deploy:
placement:
constraints:
#该hostname为指定容器在哪个主机启动
- node.hostname == GIE-EC-Node04
#mysql2服务
mysql_slave:
image: 10.11.32.23:5000/mysql:v5.7
ports:
- 3311:3306
networks:
#指定容器加入的网络
- GIE-ECP-overlay-network
environment:
#最好使用此设定时区,其它静像也可以使用
- TZ=CST-8
#指定mysql的访问密码
- MYSQL_ROOT_PASSWORD=123456
#可以加--default-time-zone='+8:00'设定时区
volumes:
- /data/docker/composes/prod/middleware/mysql/slave/data:/var/lib/mysql
- /data/docker/composes/prod/middleware/mysql/slave/conf/my.cnf:/etc/mysql/my.cnf
- /data/docker/composes/prod/middleware/mysql/slave/logs/:/var/log/mysql
command: --character-set-server=utf8
--collation-server=utf8_general_ci
--sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
deploy:
placement:
constraints:
#该hostname为指定容器在哪个主机启动
- node.hostname == GIE-EC-Node05
networks:
GIE-ECP-overlay-network:
external: true
三配置文件
位置 /data/docker/composes/prod/middleware/mysql/master/conf/my.cnf
主库
[mysqld]
server_id=1
log-bin=mysql-bin
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
read-only=0
relay_log=mysql-relay-bin
log-slave-updates=on
auto-increment-offset=1
auto-increment-increment=2
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
位置 /data/docker/composes/prod/middleware/mysql/slave/conf/my.cnf
从库
[mysqld]
server_id=2
log-bin=mysql-bin
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
read-only=0
relay_log=mysql-relay-bin
log-slave-updates=on
auto-increment-offset=2
auto-increment-increment=2
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
附录
www.cnblogs.com/bigberg/p/8… 主从 www.cnblogs.com/zhoujie/p/m… 同步已有的数据到从库