90·实战项目高级

MySQL 主从

MySQL 主从

docker-compose.yml

services:
  mysql-master:
    image: mysql:8.0
    volumes:
      - master-data:/var/lib/mysql
      - ./master.cnf:/etc/mysql/conf.d/master.cnf
    environment:
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: mydb
    ports:
      - "3306:3306"

  mysql-replica:
    image: mysql:8.0
    volumes:
      - replica-data:/var/lib/mysql
      - ./replica.cnf:/etc/mysql/conf.d/replica.cnf
    environment:
      MYSQL_ROOT_PASSWORD: secret
    depends_on:
      - mysql-master

volumes:
  master-data:
  replica-data:

master.cnf

[mysqld]
server-id=1
log-bin=mysql-bin
binlog-do-db=mydb

replica.cnf

[mysqld]
server-id=2
relay-log=mysql-relay-bin
read-only=1

小结

组件作用
master主库,可读写
replica从库,只读
binlog数据同步

练习编辑器

bash
Loading...