mysql MHA configuration

一、编写MHA配置文件

1.全局配置文件

编辑:/etc/masterha_default.cnf

2.应用配置文件

每个slaver的配置文件单独编写。而且需要为多个app单独编写配置文件,并在配置文件中使用不同的物理路径。

app1

app2

二、其他配置

参考:https://code.google.com/p/mysql-master-ha/wiki/Requirements

运行masterha_manager来检查配置是否有缺漏。

1.ssh 免密码登陆

检查:

注: masterha_check_ssh 不加配置文件则会报错:

2.关闭自动清除relay log[1]

关闭原因:By default, relay logs on slave servers are automatically removed if SQL threads have finished executing them. But such relay logs might still be needed for recovering other slaves.

什么是relay log: relay-log日志记录的是从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后SQL线程会读取relay-log日志的内容并应用到从服务器。

配置方法:

关闭之后要手工进行relay log文件的清理,使用Linux自己的cron。周期可以根据磁盘及文件保留期情况自行安排。

三、测试使用

1.测试master 不存在

关闭master

可以查看日志:

 

登陆slave机

可以代替master的功能接收数据。

2.重新启动原master

 

【注1】原master起来以后有个问题,就是其全局可写。如果这时有数据插进来,会造成新老master数据不一致。因此应该在重启原master后首先设置global read_only=1。然后将原master切为slave,从新master上同步所有数据。

【注2】同步数据时,原master会等到新master有一次数据操作时,统一将所有数据变化同步过来。这个时刻不是在配完slave后就完成,需等新master。

切换主从的blog:http://bananalighter.com/change-slaver2master/

参考:http://ylw6006.blog.51cto.com/470441/890360/

 

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注