mysql MAH环境搭建
时间: 2023-11-20 18:58:15 浏览: 92
以下是MySQL MHA环境搭建的步骤:
1.准备基础架构环境,包括Master主机、Slave1从机、Slave2从机(备选主)。
2.在Master主机上配置MySQL主从环境,在Slave1和Slave2上分别配置MySQL从机环境。
3.安装MHA并进行配置,注意配置过程中可能会遇到一些坑,需要仔细检查。
4.配置各服务之间的ssh互认,以实现免登陆认证。
5.安装完成后,进行MHA检查,确保环境搭建成功。
6.进行故障演示,测试MHA的故障转移功能。
以下是具体的操作步骤:
1.在Master主机上配置MySQL主从环境,Slave1和Slave2上分别配置MySQL从机环境。可以参考引用中的相关内容。
2.安装MHA并进行配置。可以参考以下步骤:
(1)安装MHA:
```shell
yum install -y perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Config-IniFiles perl-Data-Dumper
wget https://github.com/yoshinorim/mha4mysql-manager/archive/master.zip
unzip master.zip
cd mha4mysql-manager-master/
perl Makefile.PL
make && make install
```
(2)配置MHA:
在Master主机上创建MHA的配置文件:
```shell
mkdir /etc/mha_manager
vi /etc/mha_manager.cnf
```
在配置文件中添加以下内容:
```shell
[server default]
manager_log=/var/log/masterha/app1.log
manager_workdir=/var/log/masterha/app1
remote_workdir=/var/log/masterha/app1
ssh_user=root
repl_password=123456
ping_interval=3
ping_type=SELECT
master_binlog_dir=/data/mysql/mysql3306/data
master_ip_failover_script=/usr/local/bin/master_ip_failover
master_ip_online_change_script=/usr/local/bin/master_ip_online_change
shutdown_script=/usr/local/bin/power_manager
user=root
password=123456
[server1]
hostname=192.168.1.100
port=3306
candidate_master=1
[server2]
hostname=192.168.1.101
port=3306
candidate_master=1
[server3]
hostname=192.168.1.102
port=3306
no_master=1
```
其中,[server default]是默认配置,[server1]、[server2]、[server3]是各个MySQL实例的配置。
(3)启动MHA:
```shell
masterha_manager --conf=/etc/mha_manager.cnf --remove_dead_master_conf --ignore_last_failover
```
3.配置各服务之间的ssh互认,以实现免登陆认证。可以参考以下步骤:
(1)在Master主机上生成ssh密钥:
```shell
ssh-keygen -t rsa
```
(2)将Master主机的公钥复制到Slave1和Slave2上:
```shell
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.101
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.102
```
(3)在Slave1和Slave2上生成ssh密钥,并将公钥复制到Master主机上。
4.安装完成后,进行MHA检查,确保环境搭建成功:
```shell
masterha_check_ssh --conf=/etc/mha_manager.cnf
masterha_check_repl --conf=/etc/mha_manager.cnf
```
5.进行故障演示,测试MHA的故障转移功能:
(1)在Master主机上停止MySQL服务:
```shell
service mysqld stop
```
(2)在MHA Manager主机上执行故障转移:
```shell
masterha_master_switch --master_state=alive --conf=/etc/mha_manager.cnf --orig_master_is_new_slave --new_master_host=192.168.1.101
```
(3)检查故障转移是否成功:
```shell
masterha_check_ssh --conf=/etc/mha_manager.cnf
masterha_check_repl --conf=/etc/mha_manager.cnf
```
阅读全文