# mha-mysql
**Repository Path**: musey/mha-mysql
## Basic Information
- **Project Name**: mha-mysql
- **Description**: Mysql一主二从,一MHA
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-11-23
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# mha-mysql
## 介绍
Mysql一主二从,一MHA
### 软件环境
| | |
|---|---|
| CentOS | Linux release 7.5.1804 (Core) |
| Docker | 1.13.1 |
| docker-compose | version 1.27.2 |
### 使用说明
拉取镜像或者在services文件夹中打包
1. 拉取镜像
`docker pull breeze2/mha4mysql-manager`
`docker pull breeze2/mha4mysql-node`
2. 制作镜像
`docker build -t mha4mysql-manager .`
`docker build -t mha4mysql-node .`
#### MHA
1. 启动容器
`docker-compose up -d`
2. 开机启动ssh
`sh ./scripts/ssh_rc.sh `
3. 所有容器启动ssh服务
`sh ./scripts/ssh_start.sh`
4. 建立容器间ssh无密码连接
`sh ./scripts/ssh_share.sh `
5. mha检查ssh通信
`sh ./scripts/mha_check_ssh.sh`
6. 设置mysql复制
`sh ./scripts/mysql_set_mbs.sh`
7. check mha repl
`sh ./scripts/mha_check_repl.sh`
8. start mha manager
`sh ./scripts/mha_start_manager.sh`
## 半同步
* Master
1. `install plugin rpl_semi_sync_master soname 'semisync_master.so'`
2. `set global rpl_semi_sync_master_enabled=1`
`set global rpl_semi_sync_master_timeout=1000`
* slave
1. `install plugin rpl_semi_sync_slave soname 'semisync_slave.so' `
2. `set global rpl_semi_sync_slave_enabled=1`
- slave 需要重启
`stop slave`
`reset slave`
`start slave`
### 参考
1. [https://github.com/huangqiqun/mysql-mha-docker](https://github.com/huangqiqun/mysql-mha-docker)