双主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 ...
随机推荐
- hadoop 多表join:Map side join及Reduce side join范例
最近在准备抽取数据的工作.有一个id集合200多M,要从另一个500GB的数据集合中抽取出所有id集合中包含的数据集.id数据集合中每一个行就是一个id的字符串(Reduce side join要在每 ...
- 修改后的CopyFile类
这是修改后的CopyFile类,前面那个类有局限性,它不能复制大文件 这是我第一次写成一个能够实际应用的类,感谢博主们的无私奉献,感谢SeayXu老师的提点 但是这个类也并不是完美无缺,它复制文件没有 ...
- timus 1180. Stone Game 解题报告
1.题目: 1180. Stone Game Time limit: 1.0 secondMemory limit: 64 MB Two Nikifors play a funny game. The ...
- 安卓版App开发心得
从2016年4月到6月主要做的工作是网站的开发,而6月到现在2016年8月初,主要做的工作是Android和IOS两种App的开发,又以Android为主. 将这段时间的Android开发心得记录如下 ...
- QT 网络编程
#include "networkinformation.h" #include "ui_networkinformation.h" networkinform ...
- linux 时间管理——概念、注意点(一)【转】
转自:http://www.cnblogs.com/openix/p/3324243.html 参考:1.http://bbs.eyeler.com/thread-69-1-1.html ...
- 不安装oracle客户端,用plsql连接oracle
常用的Oracle开发的工具有SQL Developer和PL/SQL Developer,个人感觉前者虽然跨平台性优于后者,但比较大(大于300M)占用资源,而且用户体验也一般,而后者相对就小很多( ...
- [已解决] No syntax specified for the proto file : xxx.proto
在使用protobuf生成相应类文件如java文件的时候需要指定proto的版本, 如: syntax = "proto2"; package my_package; messag ...
- 设置button键隐藏文字text
新手的第一天,从最简单的view开始做起.首先先来做个最简单的button携带不可见文本,想要的时候,get它就行了. 编程的都知道,get .set方法,就不多介绍了. 创建一个类,MyButto ...
- 20161014006 DataGridView Combobox 数据绑定与传值
//Combobox private void T_Form_CY_CBD_D_CurrentCellChanged(object sender, EventArgs e) ...