CentOS 6.0系统LVS+Keepalived+MySQL实现MySQL数据库热备主

大家知道实现MySQL_Ha的方案有很多,常见的heartbeat、keepalived,这里说的就是keepalived,优点就是简单,快速,下面就是详情了;

1、系统:CentOS6.0;lamp平台(lamp平台是我一个习惯,非必须)

vip:192.168.135.200

master:192.168.135.134

slave:192.168.135.135

实现134实时复制135,135实时复制134,也就是说修改每一个数据库都会数据统一,master机器配置好点,我这边配置preempt(抢占),也就说134挂了以后,135提供服务,134恢复以后,继续134为master提供服务;

master(192.168.135.134)操作:

yum install http mysql* php* ipvsadm keepalived -y

1>、修改MySQL配置文件

两台MySQL均要开启binlog日志功能,在MySQL配置文件[MySQLd]段中加上log-bin=mysql-bin选项

两台MySQL的server-ID不能一样,默认情况下两台MySQL的serverID都是1,、其中一台修改为2;

2>、初始化下服务

service httpd restart

service mysqld restart

关闭服务:service iptables stop

修改selinux

3>、首先先将两台机器的同步做好;

master:同步slave上的数据库

授权用户;grant replication slave on *.* to 'leo'@'%' identified by 'leo123';

查询主数据库状态;并记下FILE及Position的值,这个在后面配置从服务器的时候要用到。

在另一台(slave)机器操作将此台机器设置为主服务器

change master to master_host='192.168.135.134',master_user='leo',master_password='leo123',master_log_file='mysql-bin.000001',master_log_pos=106;

授权用户;

grant replication slave on *.* to 'leo'@'%' identified by 'leo123';

同样查询主数据库状态

在另一台(master)机器操作将此台机器设置为主服务器

change master to master_host='192.168.135.135',master_user='leo',master_password='leo123',master_log_file='mysql-bin.000001',master_log_pos=247;

然后两台机器同时启动slave

start slave

查看slave状态

检查主从同步,如果您看到Slave_IO_Running和Slave_SQL_Running均为Yes,则主从复制连接正常。

show slave status\G

重点查看圈住的地方

在slave机器上同样查看是否正常

test:现在在两台服务器上其中一台,修改下数据,看看另一台的状况是否也修改,比如:

在另一台发现已经同步过去了;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/68fd85bf3e9a4cb4db5cd5be631267b9.html