MYSQL双主高可用方案部署实例

king01与king02互为master-slave

[[email protected] ~]# mysql -uroot -pabcd.1234

mysql> show slave status\G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.130.202

Master_User: repl

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000004

Read_Master_Log_Pos: 120

Relay_Log_File: relay-bin.000012

Relay_Log_Pos: 283

Relay_Master_Log_File: mysql-bin.000004

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

。。。。。。。

[[email protected] ~]# mysql -uroot -pabcd.1234

mysql> show slave status\G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.1.201

Master_User: repl

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000009

Read_Master_Log_Pos: 120

Relay_Log_File: relay-bin.000013

Relay_Log_Pos: 283

Relay_Master_Log_File: mysql-bin.000009

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

。。。。。。。

king01安装keepalived

[[email protected] ~]# yum install -y libnl libnl-devel

[[email protected] ~]# cd /usr/local/src

[[email protected] src]# tar zxvf keepalived-1.2.19.tar.gz

[[email protected] src]# cd keepalived-1.2.19

[[email protected] keepalived-1.2.19]# ./configure --sysconf=/etc --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64

[[email protected] keepalived-1.2.19]# make && make install

[[email protected] keepalived-1.2.19]# ln -s /usr/local/sbin/keepalived /sbin/

[[email protected] ~]# chkconfig --add keepalived

[[email protected] ~]# chkconfig --level 35 keepalived on

[[email protected] ~]# chkconfig --list |grep keepalived

keepalived      0:off   1:off   2:off   3:on    4:off   5:on    6:off

[[email protected] ~]# vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

notification_email {

[email protected]

[email protected]

[email protected]

}

notification_email_from [email protected]

smtp_server 192.168.200.15

smtp_connect_timeout 30

router_id king01

}

vrrp_script check_mysql {

script "/usr/local/mysql/scripts/check_mysql.sh"

interval 2

}

vrrp_instance v01 {

state BACKUP

interface eth0

virtual_router_id 200

priority 100

advert_int 1

nopreempt

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.1.200

}

track_script {

check_mysql

}

}

[[email protected] ~]# vi /usr/local/mysql/scripts/check_mysql.sh

#!/bin/bash

MYSQL=/usr/local/mysql/bin/mysql

MYSQL_HOST=localhost

MYSQL_USER=root

MYSQL_PASSWORD=abcd.1234

$MYSQL -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWORD -e "show status;" >/dev/null 2>&1

if [ $? == 0 ]

then

echo " $host mysql login successfully "

exit 0

else

echo " $host mysql login faild"

exit 1

fi

[[email protected] ~]# chmod a+x /usr/local/mysql/scripts/check_mysql.sh

[[email protected] ~]# service keepalived start

Starting keepalived:                                       [  OK  ]

[[email protected] ~]# ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 08:00:27:2b:d6:17 brd ff:ff:ff:ff:ff:ff

inet 192.168.1.201/24 brd 192.168.130.255 scope global eth0

inet 192.168.1.200/32 scope global eth0

inet6 fe80::a00:27ff:fe2b:d617/64 scope link

valid_lft forever preferred_lft forever

[[email protected] ~]# tail -n 100 /var/log/messages

Feb 23 05:09:08 king01 Keepalived_vrrp[11671]: VRRP_Instance(v01) Transition to MASTER STATE

Feb 23 05:09:09 king01 Keepalived_vrrp[11671]: VRRP_Instance(v01) Entering MASTER STATE

Feb 23 05:09:09 king01 Keepalived_vrrp[11671]: VRRP_Instance(v01) setting protocol VIPs.

Feb 23 05:09:09 king01 Keepalived_vrrp[11671]: VRRP_Instance(v01) Sending gratuitous ARPs on eth0 for 192.168.1.200

Feb 23 05:09:09 king01 Keepalived_healthcheckers[11670]: Netlink reflector reports IP 192.168.1.200 added

Feb 23 05:09:14 king01 Keepalived_vrrp[11671]: VRRP_Instance(v01) Sending gratuitous ARPs on eth0 for 192.168.1.200

原文地址:http://blog.51cto.com/13598811/2072327

时间: 2024-07-30 11:14:17

MYSQL双主高可用方案部署实例的相关文章

基于keepalived搭建mysql双主高可用

目录 概述 环境准备 keepalived搭建 mysql搭建 mysql双主搭建 mysql双主高可用搭建 概述 传统(不借助中间件)的数据库主从搭建,如果主节点挂掉了,从节点只能读取无法写入,只能把人肉去恢复故障,既不想引用中间件也不想人肉恢复故障,可以折中选择双主方案,本文将介绍通过keepalived搭建mysql双主方案. 本例中vip为:172.16.0.169,  两台mysql实例服务器ip分别为:172.16.0.1和172.16.0.2 转帖请注明来源: https://my

MySQL集群(四)之keepalived实现mysql双主高可用

前面大家介绍了主从.主主复制以及他们的中间件mysql-proxy的使用,这一篇给大家介绍的是keepalived的搭建与使用! 一.keepalived简介 1.1.keepalived介绍 Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节点的状态,它根据TCP/IP参考模型的第三.第四层.第五层交换机制检测每个服务节点的状态,如果某个服务器节点出现异常, 或者工作出现故障,Keepalived将检测到,并将出现的故障的服务器节点从集群系统中剔除,这些工作全部是自动完

keepalived+mysql双主高可用配置

具体架构图如下 两个节点一主一从(从库上面也可以再挂一个从库),或者是双主,再利用keepalived在出现容灾时进行高可用切换. Keepalived原理说明: 其实这个原理可以很简单的用一个故事说明. 以前有一个帮派,像其他所有的帮派一样,有老大.这个老大活的也很憋屈,不仅自己做所有的活,还要隔一段时间就要告诉所有小弟我是老大,你们老实点.所有的小弟也是很乖的,只要老大不死,他们肯定不会抢夺老大的地位,但是一旦他们都收不到老大的通信的话,他们就确信老大死了,他们就开始抢夺老大的地位了.不过他

keepalived实现mysql双主高可用

一.地址规划 VIP:10.10.0.228 MasterA IP:10.10.0.224 MasterB IP:10.10.0.226 二.mysql双热热备master-master 1.安装mysql(编译或yum安装) 2.配置MasterA,修改配置文件,添加以下内容 # vim /etc/my.cnf log-bin=mysql-bin log=/home/mysqld.log server-id=1 binlog-do-db=data1 auto-increment-increme

配置keepalive实现mysql双主高可用

1.安装keepalive 2.配置keepalive global_defs { notification_email { [email protected] [email protected] [email protected] } router_idmysql_ha } vrrp_script check_mysqld { script"/etc/keepalived/mysqlcheck/keepalived_check_mysql.sh " interval 2 } vrrp

配置Keepalived实现mysql双主高可用

本文为南非蚂蚁的书籍<循序渐进linux-第二版>-8.3.6的读笔记 在DB1和DB2上安装Keepalived软件 先安装编译工具 # yum install gcc* gcc-c++ autoconf automake 上传keepalived-1.2.19.tar.gz至/server/tools目录下 # cd /server/tools # tar zxvf keepalived-1.2.19.tar.gz # cd keepalived-1.2.19 # ./configure

配置MySQL实现主主互备模式并利用keepalived实现双主高可用

每台主机均需安装keepalived,mysql,安装过程这里不多介绍,不懂的可自行百度. 本次配置的环境为 DB1:192.168.31.190                DB2:192.168.31.184        MySQL VIP:192.168.31.189 1.修改MySQL配置文件 首先修改DB1的/etc/my.cnf配置文件,在"[mysqld]"段中添加一下内容: server-id = 1 log-bin=mysql-bin relay-log = my

Keepalived+Haproxy双主高可用负载均衡web和mysql综合实验

日期及版本:2014.5.4v1.0 架构图 实验目的: 1.Haproxy+Keepalived双主双机高可用模型,keepalived为Haproxy主从提供高可用保证haproxy-master若挂掉haproxy-backup能无缝接管,haproxy为后端Web提供负载均衡,缓解并发压力,实现WEB站点负载均衡+高可用性: 2. Haproxy反代web做动静分离: 3. Haproxy反代mysql 算法leastconn和roundrobin的不同效果: 系统环境: OS:cent

MySQL+Keepalived实现主主高可用方案

Mysql主主高可用方案 master配置 [[email protected] ~]# yum -y install keepalived [[email protected] ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived   global_defs {         router_id LVS_MASTER-A   } vrry_script mysql {         scrip