双主MySQL+keepalived高可用配置
部署双节点双主数据库服务器mysql
分别在二台服务器上安装mysql,要求同版本或主服务器比从服务器版本高。
主机mysql配置:
Vi /etc/my.cnf
[mysqld]
Log-bin=mysql-bin
Server-id=1
Service mysqld restart
Mysql –uroot –p

从mysql配置:
Vi /etc/my.cnf
[mysqld]
Log-bin=mysql-bin
Server-id=2
然后从主mysql导出数据,mysql –uroot –p dump –single-transaction *** > ***.sql
导入到从mysql数据库:mysql –uroot –p *** < ***.sql(***表示数据库名)
从服务器:

可能遇到的问题:log-bin一定不是log_bin,并且位置在[mysqld]的里面。否则日志不能正常开启。
主服务器:

测试:

以下为部署keepalived双主高可用:
二个服务器IP10.16.37.101,10.16.37.94,一个VIP10.16.37.200。
安装keepalived:
下载keepalived-1.2.23.tar.gz
tar –xvf keepalived-1.2.23.tar.gz –C /opt
cd /opt/keepalived-1.2.23/
./configure prefix=/usr/local/keepalived
make & make install
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
vi /etc/keepalived/keepalived.conf
主配置:(10.16.37.101)
! Configuration File for keepalived
global_defs {
notification_email {
627885927@qq.com #通知邮箱
}
notification_email_from 627885927@qq.com
smtp_server 127.0.0.1 #表示发送email时使用的smtp服务器地址,这里可以用本地的sendmail来实现
smtp_connect_timeout 30 #连接smtp超时时间
router_id MySQL-ha #一般为主机名
}
vrrp_instance VI_1 {
state BACKUP #都为BACKUP
interface eth0
virtual_router_id 51
priority 100 #权限100
advert_int 1
nopreempt #不抢占
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.16.37.200 #虚拟IP地址,即VIP
}
}
virtual_server 10.16.37.200 3306 { #监控端口及配置
delay_loop 2
lb_algo wrr
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 10.16.37.101 3306 { #真实IP地址
weight 3
notify_down /usr/local/MySQL/bin/MySQL.sh #宕机脚本
TCP_CHECK {
connect_timeout 3
connect_port 3306
}
}
}
从配置:(10.16.37.94)
! Configuration File for keepalived
global_defs {
notification_email {
627885927@qq.com #通知邮箱
}
notification_email_from 627885927@qq.com
smtp_server 127.0.0.1 #表示发送email时使用的smtp服务器地址,这里可以用本地的sendmail来实现
smtp_connect_timeout 30 #连接smtp超时时间
router_id Nginx-ha #一般为主机名
}
vrrp_instance VI_1 {
state BACKUP #都为BACKUP
interface eth0
virtual_router_id 51
priority 90 #权限90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.16.37.200 #虚拟IP地址,即VIP
}
}
virtual_server 10.16.37.200 3306 { #监控端口及配置
delay_loop 2
lb_algo wrr
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 10.16.37.94 3306 { #真实IP地址
weight 3
notify_down /usr/local/MySQL/bin/MySQL.sh #宕机脚本
TCP_CHECK {
connect_timeout 3
connect_port 3306
}
}
}
vi /usr/local/MySQL/bin/MySQL.sh
#!/bin/bash
pkill keepalived
# chmod +x /usr/local/MySQL/bin/MySQL.sh
测试:关闭一台服务器mysql,ps aux | grep keepalved查看keepalived是否自动关闭。注意防火墙和selinux的关闭!!
双主MySQL+keepalived高可用配置的更多相关文章
- MySQL+Keepalived高可用配置
注意:首先关闭两台机器的防火墙 setenforce 0 Environment: 2台CentOS测试机器 安装好MySQL 1.两台机器安装keepalived yum -y install k ...
- Mysql+Keepalived双主热备高可用操作记录
我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互为Mast ...
- 使用Keepalived实现Nginx的自动重启及双主热备高可用
1.概述 之前我们使用Keepalived实现了Nginx服务的双机主备高可用,但是有几个问题没有解决,今天一起探讨一下. 1)在双机主备机制中,Keepalived服务如果宕了,会自动启用备机进行服 ...
- Oracle Compute云快速搭建MySQL Keepalived高可用架构
最近有个客户在测试Oracle Compute云,他们的应用需要使用MySQL数据库,由于是企业级应用一定要考虑高可用架构,因此有需求要在Oracle Compute云上搭建MySQL高可用集群.客户 ...
- 通过keepalived搭建MySQL双主模式的高可用集群系统
1. 配置MySQL双主模式 1.修改my.cnf配置文件 默认情况下,MySQL的配置文件是/etc/my.cnf,在配置文件的[mysqld]段添加如下内容: server-id=1 log-bi ...
- MySQL主主模式+Keepalived高可用
今天闲来无事,打算搭建一个MySQL的高可用架构,采用的是MySQL的主主结构,再外加Keepalived,对外统一提供虚IP.先来说说背景吧,现在的项目为了高可用性,都是避免单节点的存在的,比如,我 ...
- mysql+keepalived 双主热备高可用
理论介绍:我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互 ...
- 【Keepalived+MySQL】MySQL双主互备+高可用
一.基本信息说明 [DB1] IP: 192.168.102.144 hostname: LVS-Real1 [DB2] IP: 192.168.102.145 hostname: LVS-Real2 ...
- 企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)(原创)
前言: 原理与思想 这里选用GTID主从复制模式Mysql主从复制模式,是为了更加确保主从复制的正确性.健康性与易配性.这里做的是两服务器A,B各有Mysql实例331 ...
随机推荐
- mvc中测试网络
.//控制器层面 public string IsAnyNetworkAvailable() { try { foreach (NetworkInterface ni in NetworkInterf ...
- js通过隐藏iframe修改session值
js:function selects(id, ss) { window.frames["UpSession"].window.location.href = "../U ...
- 【转】PowerShell入门(十一):编写脚本模块
转至:http://www.cnblogs.com/ceachy/archive/2013/03/08/PowerShell_Script_Module.html 现在通过编写模块就可以在PowerS ...
- 在Eclipse下搭建Android开发环境教程
我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...
- WAV文件头相关资料
http://stackoverflow.com/questions/6284651/avaudiorecorder-doesnt-write-out-proper-wav-file-header h ...
- Sql数据库时间的转换格式
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDAT ...
- c#实现邮件发送链接激活
2016-08-24 10:09:52 public void MailSend(string email) { MailMessage MyMail = new MailMessage(); MyM ...
- up_modembin.sh
--- 编译modem生成bin文件cp到指定文件夹 up_modembin.sh #!/bin/bash flag=${} == $flag ];then # echoMsg find vendor ...
- 移动端重构系列-移动端html页面优化
对于访问量大的网站来说,前端的优化是必须的,即使是优化1KB的大小对其影响也很大,下面来看看来自ISUX的米随随讲讲移动手机平台的HTML5前端优化,或许对你有帮助和启发. 概述 1. PC优化手段在 ...
- Spring MVC上传文件
Spring MVC上传文件 1.Web.xml中加入 <servlet> <servlet-name>springmvc</servlet-name> <s ...