
2、安装:[root@localhost down]# tar -zxvf keepalived-1.2.7.tar.gz[root@localhost down]# cd keepalived-1.2.7
[root@localhost keepalived-1.2.7]# ./configure --prefix=/usr/local/keepalived 安装到/usr/local/keepalived目录下;至此keepalived安装完毕。 四、分别在201和202两台机器上都重复二,三安装好mariaDB和keepalived。 五、配置201数据库服务器: 1、设置mariaDB数据库配置文件:[root@localhost /]# vi /etc/my.cnf 确保/etc/my.cnf中有如下参数,没有的话需手工添加,并重启mysql服务。[mysqld]
设置完毕启动mariaDB服务器 [root@localhost /]# service mariamysql start
2、登录mysql,然后在增加一个账号专门用于同步,如下:
[root@localhost /]# /usr/local/mariamysql/bin/mysql -uroot -p #初始密码为空到Enter password:处直接回车即可MariaDB [(none)]> grant replication slave on *.* to 'backup'@'192.168.1.202' identified by 'backup'; flush privileges;
记录下File和Position然后在202上面设置从201同步。
设置完毕启动mariaDB服务器。[root@localhost /]# service mariamysql start登录数据库:[root@localhost /]# /usr/local/mariamysql/bin/mysql -uroot -p 输入:MariaDB [(none)]> change master to master_host='192.168.1.201',master_user='backup',master_password='backup',master_log_file='mysql-bin.000010',master_log_pos=245;注意:245对应上面在201上面记下的Position,mysql-bin.000010对应201上面记录的File
执行成功后,输入命令显示从库状态:MariaDB [(none)]> show slave status /G;
2、显示202做为主库时的状态:MariaDB [(none)]> show master status;
3、在201数据库服务器上:MariaDB [(none)]> change master to master_host='192.168.1.202',master_user='backup',master_password='backup',master_log_file='mysql-bin.000005',master_log_pos=5005;
注意:5005对应上面在202上面记下的Position,mysql-bin.000005对应202上面记录的File显示状态:MariaDB [(none)]> show slave status /G;
Slave_IO_Running: Yes Slave_SQL_Running: Yes两项都显示Yes时说明从202同步数据成功。至此201、202互为主从设置成功! 可以试试在这两台服务器上任何一台增加一个数据库,并建个表,增加一些数据看看,互为主从同步的状态是否成功!首先在201上面:MariaDB [(none)]> create database mysqltest;MariaDB [(none)]> use mysqltest;MariaDB [mysqltest]> create table user(id int(5),name char(10));MariaDB [mysqltest]> insert into user values (00001,'zhangsan');在202上面验证一下:MariaDB [(none)]> use mysqltest;MariaDB [mysqltest]> select * from user;
会发现201上面的数据已经自动同步到202上面了同样在202上面:MariaDB [mysqltest]> insert into user values (00002,'wander'); 在201上面验证一下:MariaDB [mysqltest]> select * from user;
互为主从结构设置完毕 注意:如果同步不成功,首先要确保服务器3306端口打开的。centos可以用service iptables stop关闭防火墙。 八、利用keepalived实现高可用 keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换; 1、keepalived设置:201服务器上面,编辑keeplaived.conf配置文件:[root@localhost /]# vi /usr/local/keepalived/etc/keepalived/keepalived.conf
配置文件内容如下:! Configuration File for keepalivedglobal_defs {
router_id mysql-ha
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 201
priority 100
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.1.200
}
}
virtual_server 192.168.1.200 3306 {
delay_loop 2
lb_algo rr
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 192.168.1.201 3306 {
weight 1
notify_down /usr/local/keepalived/etc/keepalived/mysql.sh
TCP_CHECK {
connect_port 3306
connect_timeout 3
nb_get_retry 2
delay_before_retry 1
}
}
}
~
编辑mysql服务停止后的切换脚本:mysql.sh[root@localhost /]# vi /usr/local/keepalived/etc/keepalived/mysql.sh
内容如下:#!/bin/bash
pkill keepalived
2、启动201上面的keepalived[root@localhost /]# /usr/local/keepalived/sbin/keepalived -f /usr/local/keepalived/etc/keepalived/keepalived.conf -D查看:
启动成功后会有三个keepalived进程 此是在任一局域机器上面ping 192.168.1.200发现已经可以ping通,并且用192.168.1.200这个IP也能够连接到数据库服务器。 3、在202机器上面重复1、2步骤;配置keepalived.conf文件的时候注意要把 real_server 192.168.1.201 3306改为 real_server 192.168.1.202 3306virtual_router_id 201 改为virtual_router_id 202 至此MariaDB+Keepalived双主高可用配置MySQL-HA设置完毕。可以试着把201上面的mariaDB停止 [root@localhost /]# service mariamysql stop;会发现连接192.168.1.200还是可以连接上去的,keepalived会自动切换到202的服务器上面去。这样,当一台数据库服务器发生故障时,另一台服务器可以立即切换过来,保证高可用。bitsCN.com
