前提
由于MHA不会自动创建主从环境,所以要手动去部署主从环境,也可以在现有主从环境部署MHA。所有slave不要设置为只读,同时也要打开binlog。如果master故障后要切换到指定的slave上,该指定的slave打开binlog,设置可读写,其它不用设置打开binlog或设置只读也可。具体以自身架构为准。
架构
系统环境
#cat /etc/redhat-release
CentOSrelease 6.6 (Final)
#uname -rm
2.6.32-504.el6.x86_64x86_64
创建MHA用户
在主从环境的主上执行
mysql>grant all privileges on *.* to 'mha'@'192.168.56.%' identified by '123456';
创建软连接
如果MySQL服务不是yum安装,要在所有MySQLServer上,无论主从都要执行如下两个命令。
# ln-s /application/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog
# ln-s /application/mysql/bin/mysql /usr/bin/mysql
配置SSH公钥认证
几台服务器进行相同操作,仅分发到的服务不同而已,这里仅列出一台。
###
添加统一用户
在生产环境下使用root用户不安全,也不规范。并且环境统一也比较方便管理,因此可以创建统一的普通用户来进行。
#####
创建密钥对
[root@mha-manager ~]#ssh-keygen -t dsa
将公钥分发到各个主机上