lsyf8 发表于 2018-12-31 14:34:54

keepalived+mysql双主实现数据库冗余

  keepalived+mysql双主实现数据库冗余
  

  主1:172.16.114.15
  主2:172.16.114.16
  

  一、安装mysql,并设置主服务器
  

  1、将下面的代码复制到一个后缀为.sh的shell脚本文件中(脚本很容易看懂)
  

  # vi /etc/scripts/mysql.sh
  

  ##/bin/bash
  
  rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  

  yum -y install mysql mysql-server mysql-devel
  

  #定义一个数值mysql(需要同步的具体某个数据库,需要同步所有数据库,就将这段以及后面有关代码删掉即可)
  echo "Enter the Sync database"
  read mysql            
  

  cat > /etc/my.cnf show master status\G;
  ***************************1. row ***************************
  File: mysql-bin.000002
  Position: 106
  Binlog_Do_DB:
  Binlog_Ignore_DB:
  1 row in set (0.00 sec)
  ERROR:
  No query specified
  mysql> slave stop
  -> ;
  Query OK, 0 rows affected(0.00 sec)
  mysql>CHANGE MASTER TOMASTER_HOST='172.16.114.16',MASTER_PORT=3306, MASTER_USER='loyu', MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=106;   
  # 在主2只需修改(地址指向主1)   MASTER_HOST='172.16.114.15
  Query OK, 0 rows affected(0.03 sec)
  mysql> start slave;
  Query OK, 0 rows affected(0.00 sec)
  mysql> show slave status\G;
  ***************************1. row ***************************
  Slave_IO_State: Waiting formaster to send event
  Master_Host: 172.16.114.16
  Master_User: loyu
  Master_Port: 3306
  Connect_Retry: 10
  Master_Log_File: mysql-bin.000002
  Read_Master_Log_Pos: 106
  Relay_Log_File:mysqld-relay-bin.000002
  Relay_Log_Pos: 251
  Relay_Master_Log_File: mysql-bin.000002
  Slave_IO_Running: Yes
              Slave_SQL_Running: Yes
  Replicate_Do_DB:
  Replicate_Ignore_DB:
  ....
  

  (2)测试
  

主1:
    在主1上创建数据库


  mysql> create databaseliuyuqing;
  Query OK, 1 row affected(0.01 sec)
  mysql> use liuyuqing;
  Database changed
  mysql> create tableloyu(number int);
  Query OK, 0 rows affected(0.02 sec)
  mysql> insert into loyuvalues(1011);
Query OK, 1 row affected (0.00 sec)


   在主2上查看复制情况


(可以看到数据库已经同步成功)


http://s3.运维网.com/wyfs02/M02/71/EB/wKioL1Xa30zgHsA0AADQAU1HYts345.jpg



主2:
在第主2上创建数据库


http://s3.运维网.com/wyfs02/M01/71/EE/wKiom1Xa3g3AIqavAABijReNrXs263.jpg


在主1上查看数据库复制情况
    (可以看到数据也是同步过来的)

http://s3.运维网.com/wyfs02/M01/71/EE/wKiom1Xa3g2ja8QKAABMJ8FgCxY153.jpg
  






  二、安装keepalived

  
  1、将如下代码复制到后缀名为.sh的shell脚本文件
  
  # vi /etc/scripts/keepalived.sh
  
  ##!/bin/bash
  
  

  yum install keepalived -y
  

  #定义keepalived的虚拟IP
  echo "VIP:"
  read VIP
  

  #定义主服务器,还是备份服务器
  echo "MASTER OR BACKUP:"
  read state
  

  #定义优先级
  echo "priority: (MASTER:100 BACKUP:99)"
  read priority
  

  #定义虚拟路由id,主备要一样
  echo "virtual_router_id:"
  read virtual_router_id
  

  

  cat > /etc/keepalived/keepalived.conf
页: [1]
查看完整版本: keepalived+mysql双主实现数据库冗余