1、准备环境
操作系统:centos 6.5
2台机器主机名为node53、node54
 
  Mysql Lvs keepalived
node2 Y Y Y
node3 Y Y Y
 
 
 
 
 
 
2、安装mysql(配置主主复制)
 
 
服务器名称 ip vip
node2 192.168.0.12 192.168.0.200
node3 192.168.0.13 192.168.0.200

  

 
 
 
 
2.1、安装数据库
      yum install -y mysql
 
2.2、关闭防火墙
    

 service iptables stop
 chkconfig iptables off
 
2.3、修改root用户名/访问权限
use mysql
delete from user where user='';
grant replication slave on *.* to 'root'@'%' identified by '123456';
2.4、修改/etc/my.cnf
在node2机器上配置如下
 
[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
 
 
在node3机器上配置如下
 

[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
 
2.5、重启mysql服务
     service mysqld restart
 
2.6、分别在node2、node3上执行
 
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)
 
在node3
 
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)
 
2.7、在node2、node3指定同步位置
在node53
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)
 
在node3
 
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)
 
注:master_log_file,master_log_pos由上面主服务器查出的状态值中确定
 
2.8、解锁表
 
mysql> unlock tables;
mysql> start slave;
 
2.9、分别在2台机器查看状态
show slave status\G;
如果显示如下,则正常
  Slave_IO_Running: Yes
  Slave_SQL_Running: Yes
3、Lvs配置
3.1 安装lvs
yum install ipvsadm
3.2 编写启动脚本
 
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
4、配置keepalived
4.1、安装keepalived
  yum install keepalived
 
4.2、配置keepalived.conf
 
 

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
                }
        }
}
 
 
在node3上配置keepalived.conf
2个参数不同,其他配置相同
state BACKUP
priority 100
 
chkconfig keepalived on
 
插入图片=============
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Lvs+keepalived+mysql(主从复制)的更多相关文章

  1. Lvs+keepalived+mysql主从热备

    p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; f ...

  2. LVS+Keepalived+Mysql+主备数据库架构[4台]

    这是一个坑...磨了不少时间.见证自己功力有待提升... 架构图 数据库 1.安装数据库 这块不难, 直接引用:mysql安装 2.数据库主备 这块不难, 直接引用: mysql主备 虚拟VIP 重点 ...

  3. Lvs+Keepalived+MySQL Cluster架设高可用负载均衡Mysql集群

    ------------------------------------- 一.前言 二.MySQL Cluster基本概念 三.环境 四.配置 1.LB-Master及LB-Backup配置 2.M ...

  4. LVS+Keepalived+Mysql+主主数据库架构[2台]

    架构图 安装步骤省略. 158.140 keepalived.conf ! Configuration File for keepalived global_defs { #全局标识模块 notifi ...

  5. Lvs+Keepalived+Mysql

    环境 [root@node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node1 ~]# uname -a Linu ...

  6. Mysql双主热备+LVS+Keepalived高可用操作记录

    MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障.然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负 ...

  7. Lvs+Keepalived实现MySQL高可用

    LVS+Keepalived+MySQL高可用配置 本文所有配置前提是已实现MySQL双主备份(MySQL双主) 安装前的准备: VIP:192.168.0.201 Keepalived: Keepa ...

  8. MySQL 高可用:mysql+Lvs+Keepalived 负载均衡及故障转移

    系统信息: mysql主库 mysql从库 VIP 192.168.1.150 mysql 主主同步都设置 auto-increment-offset,auto-increment-increment ...

  9. 关于lvs+keepalived只加入一台realserver问题

    今天做lvs+keepalived+mysql项目实施方案,在配置lvs+keepalived时都是ok的,但是就只加入第一台realserver.本人也感到很奇怪,lvs+keepalived本人也 ...

随机推荐

  1. C之输入输出函数(3) -- 请使用sscanf()

    #include <stdio.h> int fscanf(FILE *__restrict__stream, const char *__restrict__format-string, ...

  2. PHP FILTER_SANITIZE_SPECIAL_CHARS 过滤器

    定义和用法 FILTER_SANITIZE_SPECIAL_CHARS 过滤器对特殊字符进行 HTML 转义. 该过滤器用于转义 "<>& 以及 ASCII 值在 32 ...

  3. 高级运维(五):构建memcached服务、LNMP+memcached、使用Tomcat设置Session、Tomcat实现session共享

    一.构建memcached服务 目标: 本案例要求先快速搭建好一台memcached服务器,并对memcached进行简单的添.删.改.查操作: 1> 安装memcached软件,并启动服务d ...

  4. springboot之停止与启动服务的脚本

    最近要开始自动化部署了,我们要编写杀死服务的脚本. 我在windows写好的脚本拷贝到linux,就是不行,好像是因为转义字符吧. 然后,我就手敲了这个下面脚本: pid=`ps -ef|grep / ...

  5. Likecloud-吃、吃、吃

    题目背景 问世间,青春期为何物? 答曰:"甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!" 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日 ...

  6. 为什么 Go 语言把类型放在后面

    不是为了与众不同.而是为了更加清晰易懂. Rob Pike 曾经在 Go 官方博客解释过这个问题(原文地址:http://blog.golang.org/gos-declaration-syntax) ...

  7. UDP 协议解析 - 1

    目录 1. 概述 2. UDP 的主要特点 3. UDP 的首部格式 3. UDP 校验和 3.1 伪首部 3.2 UDP 校验和计算方法 [参考文献] 1. 概述 用户数据报协议(UDP,User ...

  8. 22. Jmeter NON GUI模式

    一般情况下我们都是在NonGUI模式下运行jmeter.这样做有两个好处 节省系统资源,能够产生更大的负载 可以通过命令行参数对测试场景进行更精细的配置 需求:模拟5个用户同时访问百度首页的情况 步骤 ...

  9. 7年Java后端被淘汰,一路北漂辛酸史。。。

    作者:春天花会开foryou oschina.net/question/3465562_2281392 今天分享一位同行的经历: 本人Java开发6年半不到7年的样子. 英语专业,临毕业跟着隔壁专业去 ...

  10. Python翻译

    translator.py # -*- coding: utf-8 -*- # author: inspurer(月小水长) # pc_type lenovo # create_time: 2019/ ...