Infobright的双机热备(主从同步)

来源:互联网 发布:怎么看淘宝客链接 编辑:程序博客网 时间:2024/06/10 21:05

CentOS 下Infobright的双机热备(主从同步)

by coco
2013-04-02

 

软件以及环境配置
 
操作系统:CentOS  release 5.7(Final)
 
Infobright版本:infobright-4.0.7-0-x86_64-ice.rpm
 
CentOS1 IP:192.168.204.128 (主机 master)
 
CentOS IP: 192.168.204.129 (从机slave)
 
具体操作
 
安装以上版本的infobright后,在/etc下会出现3个配置文件分别为:my-ib.cnf,my-ib-master.cnf,my-ib-slave.cnf。
 
用/etc/init.d下的mysqld-ib启动mysql服务时默认的conf文件是my-ib.cnf。
 
第一步,先不启动或关掉infobright服务。
 
由于需要做双机,就需要对my-ib-master.cnf,my-ib-slave.cnf这两个配置文件和/etc/init.d下的mysqld-ib进行配置。
 
具体的配置步骤如下:
 
一、配置数据库主服务器:
1、启动CentOS1 IP:192.168.204.128服务器上的infobright服务:/etc/init.d/mysqld-ib start
Cd到数据库安装目录(/usr/local/infobright-4.0.7-i686/bin)后进入infobright数据库:
mysql-ib –uroot -predhat

在mysql命令行建立远程同步账号:

Grant replication slave on *.* to 'rep'@'192.168.204.129' identified by'root@centos';
 
flush privileges;
 
2、在修改/etc/init.d下的mysqld-ib,具体命令如下:
cd /etc/init.d
vi mysqld-ib
找到conf=/etc/my-ib.cnf这一行,将my-id.cnf修改为conf=/etc/my-ib-master.cnf。
保存。
3、cd到/etc下,查看my-ib-master.cnf文件,查看以下配置,如果配置文件跟以下配置不一样,按照下面配置进行修改。

server-id=1
log-bin=mysql-bin
binlog-format=statement
relay-log=bh-relay-bin
relay-log-index=bh-relay-bin.index
 
default-storage-engine=brighthouse
collation_server=latin1_bin
character_set_server=latin1

 

二、配置数据库从服务器:
1、启动CentOS IP:192.168.204.129服务器上的infobright服务:/etc/init.d/mysqld-ib start
Cd到数据库安装目录后启动mysql:./mysql –uroot
在mysql命令行建立远程同步账号:

Grant replication slave on *.* to 'rep'@'192.168.204.128' identified by'root@centos';
 
(授与从任意主机上登录用户backup数据复制权限)
flush privileges;
2、停止infobright服务,/etc/init.d/mysqld-ib stop
修改/etc/init.d下的mysqld-ib,具体命令如下:
cd /etc/init.d
vi mysqld-ib
找到conf=/etc/my-ib.cnf这一行,将my-id.cnf修改为my-ib-slave.cnf。

3、cd到/etc下,查看my-ib-slave.cnf文件,找原来的配置,按照下面的配置进行修改。

server-id=2
master-host=192.168.204.128
master-port=5029
master-user=rep
master-password=root@centos
master-connect-retry=60

default-storage-engine=brighthouse
collation_server=latin1_bin
character_set_server=latin1
 
其中master-host是主服务器IP,master-host是数据库服务的端口,master-user和password是刚创建的登陆用户。
4,重启2个虚拟机上的infobright服务。
在CentOS1上使用:show master status 查看master状态
在CentOS上使用:stop slave 暂时停止slave进程
start slave 开始slave进程
show slave status 查看slave状态
Show Slave status:此处Slave_IO_Running ,Slave_SQL_Running 都应该是yes,表示从库的I/O,Slave_SQL线程都正确开启.如果成功开启说明主从已经配置成功。
 
三、验证
在验证的时候确定2个虚拟机上的infobright服务都已经开启,并且从服务器的已经:start slave,且Show Slave status:此处Slave_IO_Running ,Slave_SQL_Running 都应该是yes。
 

 
四、可能出现的问题
 
1、在show slave status时,Slave_IO_Running=off,错误提示can’t connect to mysql server 192.168.56.128,使用./mysql –h192.168.56.128 –uroot无法登录远程主机也出现相同问题,是因为服务器的端口没开,打开防火墙,将5029端口添加到tcp就可以了。然后进入数据库输入:stop slave;start slave;show slave status查看即可。
 
2、实现同步后出现Slave_SQL_Running=off,问题表述如下:
 
在主服务器创建表test1,从服务器会同步test1,然后在主服务器中删除test1后,如果在从服务器中误操作,也执行了drop table test1出现问题,通过输入show slave status查看错误提示:找不到test1表,并且Slave_SQL_Running=off,
 
解决方式:在主服务器重新建立test1表,在从服务器删除,然后在进行一遍stop slave;start slave;show slave status查看即可。
 
验证:
 
create table wqotest(a int,b varchar(10)) engine=MYISAM;
 
insert wqotest(a,b) values(1,'test');