文章目录
安装Docker
- 官网地址
- 下载安装
- 验证Docker、Docker Compose
部署mysql 一主一从
-
登录ChatGPT搞方案
-
本地创建一个文件夹
-
编辑docker-compose.yml文件
version: "3.8" services: mysql_master: image: mysql/mysql-server:5.7 # 这里是个坑,要根据自己的电脑系统配~~ container_name: mysql_master restart: always environment: MYSQL_ROOT_PASSWORD: 12345678 MYSQL_DATABASE: db01 MYSQL_USER: root MYSQL_PASSWORD: 12345678 volumes: - mysql_master_data:/var/lib/mysql - ./conf/my.cnf:/etc/mysql/conf.d/my.cnf ports: - "3307:3306" command: --server-id=1 --log-bin=mysql-bin --log-slave-updates=1 mysql_slave: image: mysql/mysql-server:5.7 container_name: mysql_slave restart: always environment: MYSQL_ROOT_PASSWORD: 12345678 MYSQL_DATABASE: db01 MYSQL_USER: root MYSQL_PASSWORD: 12345678 MYSQL_MASTER_HOST: mysql_master MYSQL_MASTER_PORT: 3306 MYSQL_MASTER_USER: root MYSQL_MASTER_PASSWORD: 12345678 volumes: - mysql_slave_data:/var/lib/mysql - ./conf/my.cnf:/etc/mysql/conf.d/my.cnf ports: - "3308:3306" command: --server-id=2 # 唯一标识,这个不设置,同步数据就会失败 volumes: mysql_master_data: mysql_slave_data:
-
启动检查并编排容器
-
验证
-
基于command的my.cnf配置的加载
可以从上面测试的可以看出my.cnf并没有生效
–init-file=/etc/mysql/init.sql
USE mysql; ALTER DATABASE db01 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
需要新建一个表
-
主数据库建一个用户给子数据库用于主从复制
-
启动主从同步
change master to \ master_host='127.0.0.1', \ master_user='slave', \ master_password='12345678', \ master_port=3307, \ master_log_file='mall-mysql-bin.000009', \ master_log_pos=1432, \ master_connect_retry=30; # 连接失败重试的时间间隔,单位为秒。
-
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/143939.html