1、安装
version: "3.2"services: mysql-master: image: mysql:5.7 container_name: mysql-master restart: always privileged: true ports: - "3339:3306" volumes: - ./mysql/conf.d:/etc/mysql/conf.d - ./mysql/my.cnf:/etc/mysql/my.cnf environment: MYSQL_ROOT_PASSWORD: 123456 logging: driver: "json-file" options: max-size: "500m" max-file: "6" networks: master: ipv4_address: 172.172.0.16networks: master: external: name: docker-ice
my.cnf
[mysqld]## 设置server_id,一般设置为IP,同一局域网内注意要唯一server_id=100## 复制过滤:也就是指定哪个数据库不用同步(mysql库一般不同步)binlog-ignore-db=mysql## 开启二进制日志功能,可以随便取,最好有含义(关键就是这里了)log-bin=edu-mysql-bin## 为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存binlog_cache_size=1M## 主从复制的格式(mixed,statement,row,默认格式是statement)binlog_format=mixed## 二进制日志自动删除/过期的天数。默认值为0,表示不自动删除。expire_logs_days=7## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致slave_skip_errors=1062