Mysql(主主)+keepalived高可用
Mysql(主主)+keepalived高可用Mysql 1: 172.16.1.155Mysql 2: 172.16.1.195VIP: 172.16.1.222author:darkyinliang@163.com第一:首先安装好mysql主主 互相能够同步即可!(此步骤太过于简单,省略!)第二步:主要说下 keepalived+里面需要编写的脚本keepalived_check_mysql.sh首先安装keepavlived:包名:keepalived-1.2.7.tar.gz安装这个之前,有个细节注意/usr/src/kernels/2.6.18-238.el5-i686/这个下看有东西没!如果没有:执行yum install kernel-devel -y,有则继续!ln -s /usr/src/kernels/2.6.18-238.el5-i686/ /usr/src/linux1、tar -zxvf keepalived-1.2.7.tar.gzcd keepalived-1.1.17./configure --prefix=/usr/local/keepalivedmakemake install安装后,把人家提供好的文件进行对应的复制!cp /usr/local/keepalived/etc/rc.d/init.d/keepalived/etc/init.d/cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/mkdir -pv /etc/keepalivedcp /usr/local/keepalived/etc/keepalived/keepalived.conf/etc/keepalived/ln -s /usr/local/keepalived/sbin/keepalived /sbin/2、在Mysql 1上配置keepalived.conf# cat /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs { router_id darkyinliang@163.com}vrrp_script check_run { script "/liang/keepalived_check_mysql.sh" interval 5}vrrp_sync_group VG1 { group { VI_1 }}vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 88 priority 100 advert_int 1 nopreempt authentication { auth_type PASS auth_pass liang } track_script { check_run } virtual_ipaddress { 172.16.1.222 }}3、在Mysql 1上配置keepalived.conf (只是priority 80 这行不一样,别的都相同!)# cat /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs { router_id darkyinliang@163.com}vrrp_script check_run { script "/liang/keepalived_check_mysql.sh" interval 5}vrrp_sync_group VG1 { group { VI_1 }}vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 88 priority 80 advert_int 1 nopreempt authentication { auth_type PASS auth_pass liang } track_script { check_run } virtual_ipaddress { 172.16.1.222 }}第三步:以上完成了keepalived.conf的配置,但是里面有个脚本/liang/keepalived_check_mysql.sh 为编写,下面写这个脚本!--------两个主机放同样的脚本即可(机器195和155都放这个脚本在同样的目录下即可!)Vim keepalived_check_mysql.sh 放到对应的目录下即可:/liang/内容如下:#!/bin/bashMYSQL=/usr/local/mysql/bin/mysqlMYSQL_HOST=localhostMYSQL_USER=rootMYSQL_PASSWORD=123456CHECK_TIME=3#mysqlis working MYSQL_OK is 1 , mysql down MYSQL_OK is 0MYSQL_OK=1function check_mysql_helth (){$MYSQL -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWORD -e "show status;" >/dev/null 2>&1if [ $? = 0 ] ;then MYSQL_OK=1else MYSQL_OK=0fi return $MYSQL_OK}while [ $CHECK_TIME -ne 0 ]do let "CHECK_TIME -= 1" check_mysql_helth echo "hel"if [ $MYSQL_OK = 1 ] ; then CHECK_TIME=0 echo "time set 0" exit 0fiif [ $MYSQL_OK -eq 0 ] &&[ $CHECK_TIME -eq 0 ]then /etc/init.d/keepalived stop echo "keepalived already stop"exit 1 fisleep 1Done以上需要注意登录mysql中的目录和主机、用户、密码等信息的修改即可使用!------(脚本目的是检测mysql服务如果没起来就停掉这个机器上的keepalived服务!)第四步:完成了上面的这步以后,分别启动两台机器的keepalived172.16.1.195:上执行:Service keepalived start172.16.1.155:上执行Service keepalived start若不行就重启下两台机器的mysql数据库即可!----用tail-f /var/log/messages即可查看那个为正在使用的数据库。----用 ip add sh 即可查看绑定的VIP的信息。
帮你顶下哈!! 如果没有毛片,中国的性教育简直就是一片空白! 老天,你让夏天和冬天同房了吧?生出这鬼天气! 微机原理闹危机,随机过程随机过,实变函数学十遍,汇编语言不会编! 生,容易。活,容易。生活,不容易。 支持一下:lol
页:
[1]