配置keepalive實作mysql雙主高可用
1.安裝keepalive
2。配置keepalive
global_defs {
notification_email {
}
router_idmysql_ha
}
vrrp_script check_mysqld {
script"/etc/keepalived/mysqlcheck/keepalived_check_mysql.sh "
interval 2
vrrp_instance HA_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 100
advert_int 1
nopreempt
authentication{
auth_typePASS
auth_pass1111
}
track_script {
check_mysqld
virtual_ipaddress {
192.168.32.100/24 dev eth0
兩個keepalive的state都設定為BACKUP
檢查mysql腳本keepalived_check_mysql.sh
#!/bin/bash
MYSQL=/usr/bin/mysql
MYSQL_HOST=localhost
MYSQL_USER=root
MYSQL_PASSWORD=www.123
CHECK_TIME=3
#mysql is workingMYSQL_OK is 1 , mysql down MYSQL_OK is 0
MYSQL_OK=1
function check_mysql_helth (){
$MYSQL -h $MYSQL_HOST -u $MYSQL_USER -p${MYSQL_PASSWORD}-e "show status;" >/dev/null 2>&1
if [ $? = 0 ] ;then
else
MYSQL_OK=0
fi
return $MYSQL_OK
while [ $CHECK_TIME -ne 0 ]
do
let "CHECK_TIME -= 1"
check_mysql_helth
if [ $MYSQL_OK = 1 ] ; then
CHECK_TIME=0
exit 0
if [ $MYSQL_OK -eq 0 ] && [ $CHECK_TIME -eq 0 ]
then
/etc/init.d/keepalived stop
exit 1
sleep 1
done
/etc/init.d/keepalived start
測試高可用:關掉DB1的mysql時.他的vip會飄到DB2
測試mysql主從同步功能
1.在遠端用戶端通過vip登入測試
2.資料複制功能測試
在DB1中建立了一個資料庫。在DB2檢視是否有這個資料庫
本文轉自 shouhou2581314 51CTO部落格,原文連結:http://blog.51cto.com/thedream/1654372,如需轉載請自行聯系原作者