# mysql-hma-docker **Repository Path**: wanghehan/mysql-hma-docker ## Basic Information - **Project Name**: mysql-hma-docker - **Description**: 使用docker-compose 搭建mysql+hma - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-15 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Mysql 1. 搭建一个MySQL高可用架构集群环境(4台主机,1主、2从、1 MHA 半同步复制) 1. 环境以及版本 * centOS 7 * docker 19.03.8 * docker-compose 1.25.5 * node基础镜像版本 breeze2/mha4mysql-node:0.57 * monitor 基础镜像版本 breeze2/mha4mysql-manager:0.57 * Mysql 版本 5.7.19 2. 搭建流程 * docker-compose.yml 将四个节点放在同一网络 挂载外部配置文件 * mha_node0 my.cnf ``` [mysqld] server-id=1 log-bin=mysql-bin #开启binlog 指定文件名称 sync-binlog=1 #使执行1次写入后,与硬盘同步 binlog-do-db=testing #同步数据库名 binlog-ignore-db=mysql #binlog忽略库 replicate-do-db=testing #复制库 replicate-ignore-db=mysql #忽略复制库 auto_increment_increment=2 #增长步长为2 auto_increment_offset=1 #自增长1开始 expire_logs_days=7 #日志存7天 ``` * mha_node1 同上 server-id=2 * mha_node2 ``` [mysqld] server-id=3 replicate-do-db=testing replicate-ignore-db=mysql expire_logs_days=7 ``` 1. 启动流程 1. 启动容器 `sh start.sh` 2. 进行配置并启动manager `sh run.sh` ```shell sh ./scripts/ssh_start.sh #开启ssh服务 sh ./scripts/ssh_share.sh #生成ssh-key 并打通 sh ./scripts/mha_check_ssh.sh #检查ssh sh ./scripts/mysql_install_semi.sh #安装开启semi半同步复制插件 sh ./scripts/mysql_set_mbs.sh #设置主从复制 sh ./scripts/mha_check_repl.sh #检mha查复制状态 sh ./scripts/mha_start_manager.sh #开启mha manager ``` 3. 关闭并删除容器 `sh stop.sh` 1. 演示 1. 脚本设置 [视频演示](https://gitee.com/wanghehan/mysql-hma-docker/blob/master/video/%E8%AE%BE%E7%BD%AE.mp4) 2. 实现主从半同步复制 [视频演示](https://gitee.com/wanghehan/mysql-hma-docker/blob/master/video/%E5%8D%8A%E5%90%8C%E6%AD%A5.mp4) 3. master 故障转移 [视频演示](https://gitee.com/wanghehan/mysql-hma-docker/blob/master/video/%E6%95%85%E9%9A%9C%E8%BD%AC%E7%A7%BB.mp4) 4. 新主库主从同步 [视频演示](https://gitee.com/wanghehan/mysql-hma-docker/blob/master/video/%E6%96%B0%E4%B8%BB%E5%BA%93%E6%8F%92%E5%85%A5.mp4) 2. 遇到的问题 1. 主要问题是环境问题?