Lvs+keepalived+mysql(主从复制)
Mysql | Lvs | keepalived | |
node2 | Y | Y | Y |
node3 | Y | Y | Y |
服务器名称 | ip | vip |
node2 | 192.168.0.12 | 192.168.0.200 |
node3 | 192.168.0.13 | 192.168.0.200 |
yum
install
-y mysql
service iptables stop
chkconfig iptables off
use mysql
delete from user where user=
''
;
grant replication slave on *.* to
'root'
@
'%'
identified by
'123456'
;
[mysqld]
datadir=
/var/lib/mysql
socket=
/var/lib/mysql/mysql
.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin=mysql-bin
server-
id
=1
#需要记录二进制日志的数据库,如果有多个库,写多个binlog-do-db,用逗号隔开,测试时发现不能同步?有空在研究
binlog-
do
-db=amdb
binlog-
do
-db=hivedb
binlog-
do
-db=ooziedb
#不需要记录日志的数据库
binlog-ignore-db=mysql
#需要同步的数据库
replicate-
do
-db=amdb
replicate-
do
-db=hivedb
replicate-
do
-db=ooziedb
#不需要同步的库
replicate-ignore-db=mysql,information_schema
#默认值3600s
slave-net-timeout=60
#保证slave挂在任何一台master上都会接收到另一个master的写入信息
log-slave-updates
sync_binlog=1
slave-skip-errors=all
auto_increment_offset=1
auto_increment_increment=2
[mysqld_safe]
log-error=
/var/log/mysqld
.log
pid-
file
=
/var/run/mysqld/mysqld
.pid
[mysqld]
datadir=
/var/lib/mysql
socket=
/var/lib/mysql/mysql
.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin=mysql-bin
#设置不同的id
server-
id
=2
#需要记录二进制日志的数据库,如果有多个库,写多个binlog-do-db,用逗号隔开,测试时发现不能同步?有空在研究
binlog-
do
-db=amdb
binlog-
do
-db=hivedb
binlog-
do
-db=ooziedb
#不需要记录日志的数据库
binlog-ignore-db=mysql
#需要同步的数据库
replicate-
do
-db=amdb
replicate-
do
-db=hivedb
replicate-
do
-db=ooziedb
#不需要同步的库
replicate-ignore-db=mysql,information_schema
#默认值3600s
slave-net-timeout=60
#保证slave挂在任何一台master上都会接收到另一个master的写入信息
log-slave-updates
sync_binlog=1
slave-skip-errors=all
auto_increment_offset=1
auto_increment_increment=2
[mysqld_safe]
log-error=
/var/log/mysqld
.log
pid-
file
=
/var/run/mysqld/mysqld
.pid
mysql> flush tables with
read
lock;
#防止进入新的数据
Query OK, 0 rows affected (0.00 sec)
mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000007
Position: 438
Binlog_Do_DB: db_rocky
Binlog_Ignore_DB: mysql
1 row
in
set
(0.00 sec)
mysql> flush tables with
read
lock;
Query OK, 0 rows affected (0.00 sec)
mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000008
Position: 107
Binlog_Do_DB: db_rocky
Binlog_Ignore_DB: mysql
1 row
in
set
(0.01 sec)
mysql> change master to master_host=
'10.211.55.54'
,master_user=
'root'
,master_password=
'123456'
,master_log_file=
'mysql-bin.000008'
,master_log_pos=107;
Query OK, 0 rows affected (0.05 sec)
mysql> change master to master_host=
'10.211.55.53'
,master_user=
'root'
,master_password=
'123456'
,
-> master_log_file=
'mysql-bin.000007'
,master_log_pos=438;
Query OK, 0 rows affected (0.15 sec)
mysql> unlock tables;
mysql> start slave;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
yum
install
ipvsadm
vim
/etc/init
.d
/realserver
.sh
#!/bin/bash
#description: Config realserver lo and apply noarp
SNS_VIP=10.211.55.200
/etc/rc
.d
/init
.d
/functions
case
"$1"
in
start)
ifconfig
eth0:1 $SNS_VIP
/24
/sbin/route
add -host $SNS_VIP dev eth0:1
echo
"vip Start OK"
ifconfig
lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
/sbin/route
add -host $SNS_VIP dev lo:0
echo
"1"
>
/proc/sys/net/ipv4/conf/lo/arp_ignore
echo
"2"
>
/proc/sys/net/ipv4/conf/lo/arp_announce
echo
"1"
>
/proc/sys/net/ipv4/conf/all/arp_ignore
echo
"2"
>
/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >
/dev/null
2>&1
echo
"RealServer Start OK"
;;
stop)
ifconfig
eth0:1 down
route del $SNS_VIP >
/dev/null
2>&1
echo
"vip Stoped"
ifconfig
lo:0 down
route del $SNS_VIP >
/dev/null
2>&1
echo
"0"
>
/proc/sys/net/ipv4/conf/lo/arp_ignore
echo
"0"
>
/proc/sys/net/ipv4/conf/lo/arp_announce
echo
"0"
>
/proc/sys/net/ipv4/conf/all/arp_ignore
echo
"0"
>
/proc/sys/net/ipv4/conf/all/arp_announce
echo
"RealServer Stoped"
;;
*)
echo
"Usage: $0 {start|stop}"
exit
1
esac
exit
0
echo
"/etc/init.d/realserver.sh start"
>>
/etc/rc
.d
/rc
.
local
yum
install
keepalived
vim
/etc/keepalived/keepalived
.conf
! Configuration File
for
keepalived
global_defs {
notification_email {
yangyufans@qq.com
}
notification_email_from yangyufans@qq.com
smtp_server smtp.qq.com
smtp_connect_timeout 30
router_id LVS1
}
vrrp_sync_group
test
{
group {
loadbalance
}
}
vrrp_instance loadbalance {
state MASTER
lvs_sync_daemon_inteface eth0
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.211.55.200 dev eth0 label eth0:1
}
}
virtual_server 10.211.55.200 3306 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 20
protocol TCP
sorry_server 10.211.55.54 3306
real_server 10.211.55.53 3306 {
weight 3
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}
Lvs+keepalived+mysql(主从复制)的更多相关文章
- Lvs+keepalived+mysql主从热备
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; f ...
- LVS+Keepalived+Mysql+主备数据库架构[4台]
这是一个坑...磨了不少时间.见证自己功力有待提升... 架构图 数据库 1.安装数据库 这块不难, 直接引用:mysql安装 2.数据库主备 这块不难, 直接引用: mysql主备 虚拟VIP 重点 ...
- Lvs+Keepalived+MySQL Cluster架设高可用负载均衡Mysql集群
------------------------------------- 一.前言 二.MySQL Cluster基本概念 三.环境 四.配置 1.LB-Master及LB-Backup配置 2.M ...
- LVS+Keepalived+Mysql+主主数据库架构[2台]
架构图 安装步骤省略. 158.140 keepalived.conf ! Configuration File for keepalived global_defs { #全局标识模块 notifi ...
- Lvs+Keepalived+Mysql
环境 [root@node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node1 ~]# uname -a Linu ...
- Mysql双主热备+LVS+Keepalived高可用操作记录
MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障.然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负 ...
- Lvs+Keepalived实现MySQL高可用
LVS+Keepalived+MySQL高可用配置 本文所有配置前提是已实现MySQL双主备份(MySQL双主) 安装前的准备: VIP:192.168.0.201 Keepalived: Keepa ...
- MySQL 高可用:mysql+Lvs+Keepalived 负载均衡及故障转移
系统信息: mysql主库 mysql从库 VIP 192.168.1.150 mysql 主主同步都设置 auto-increment-offset,auto-increment-increment ...
- 关于lvs+keepalived只加入一台realserver问题
今天做lvs+keepalived+mysql项目实施方案,在配置lvs+keepalived时都是ok的,但是就只加入第一台realserver.本人也感到很奇怪,lvs+keepalived本人也 ...
随机推荐
- C之输入输出函数(3) -- 请使用sscanf()
#include <stdio.h> int fscanf(FILE *__restrict__stream, const char *__restrict__format-string, ...
- PHP FILTER_SANITIZE_SPECIAL_CHARS 过滤器
定义和用法 FILTER_SANITIZE_SPECIAL_CHARS 过滤器对特殊字符进行 HTML 转义. 该过滤器用于转义 "<>& 以及 ASCII 值在 32 ...
- 高级运维(五):构建memcached服务、LNMP+memcached、使用Tomcat设置Session、Tomcat实现session共享
一.构建memcached服务 目标: 本案例要求先快速搭建好一台memcached服务器,并对memcached进行简单的添.删.改.查操作: 1> 安装memcached软件,并启动服务d ...
- springboot之停止与启动服务的脚本
最近要开始自动化部署了,我们要编写杀死服务的脚本. 我在windows写好的脚本拷贝到linux,就是不行,好像是因为转义字符吧. 然后,我就手敲了这个下面脚本: pid=`ps -ef|grep / ...
- Likecloud-吃、吃、吃
题目背景 问世间,青春期为何物? 答曰:"甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!" 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日 ...
- 为什么 Go 语言把类型放在后面
不是为了与众不同.而是为了更加清晰易懂. Rob Pike 曾经在 Go 官方博客解释过这个问题(原文地址:http://blog.golang.org/gos-declaration-syntax) ...
- UDP 协议解析 - 1
目录 1. 概述 2. UDP 的主要特点 3. UDP 的首部格式 3. UDP 校验和 3.1 伪首部 3.2 UDP 校验和计算方法 [参考文献] 1. 概述 用户数据报协议(UDP,User ...
- 22. Jmeter NON GUI模式
一般情况下我们都是在NonGUI模式下运行jmeter.这样做有两个好处 节省系统资源,能够产生更大的负载 可以通过命令行参数对测试场景进行更精细的配置 需求:模拟5个用户同时访问百度首页的情况 步骤 ...
- 7年Java后端被淘汰,一路北漂辛酸史。。。
作者:春天花会开foryou oschina.net/question/3465562_2281392 今天分享一位同行的经历: 本人Java开发6年半不到7年的样子. 英语专业,临毕业跟着隔壁专业去 ...
- Python翻译
translator.py # -*- coding: utf-8 -*- # author: inspurer(月小水长) # pc_type lenovo # create_time: 2019/ ...