2台新的虚拟机172.16.1.1、172.16.1.2  (配置yum源 )

安装数据库服务

其中 172.16.1.1、172.16.1.2运行数据库服务并设置数据库管理员从本机登录的密码是xzw12345 (mysql-server.5.6)

tar -xvf MySQL-5.6.rpm.tar (RPM包安装)

rpm -Uvh MySQL-*.rpm

/etc/init.d/mysql  start  ; chkconfig  mysql   on

修改密码

[root@mail ~]# cat /root/.mysql_secret

[root@mail ~]# mysql -uroot -pjBJIfBwD

mysql> set password for root@"localhost"=password("xzw12345");

mysql> quit;

[root@mail ~]# mysql -uroot -pxzw12345

mysql>

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

主主结构

master203

mysql   -uroot  -pxzw12345

mysql> grant  replication  slave  on  *.*   to   slaveuser@"%" identified by  "123456";

mysql>quit;

vim /etc/my.cnf

[mysqld]

log-bin=master203

server_id=203

:wq

/etc/init.d/mysql  restart

ls  /var/lib/mysql/master203.*

mysql   -uroot  -pxzw12345

mysql>show  master  status;

master204:

mysql   -uroot  -pxzw123

mysql> grant  replication  slave  on  *.*   to   slaveuser@"%" identified by  "123456";

mysql>quit;

vim /etc/my.cnf

[mysqld]

log-bin=master204

server_id=204

:wq

/etc/init.d/mysql  restart

ls  /var/lib/mysql/master204.*

mysql   -uroot  -pxzw12345

mysql>show  master  status;

 

master204向master203发起同步操作,指定相关master172.16.1.1的相关参数

mysql   -uroot  -pxzw12345

mysql>   change master  to   master_host="172.16.1.1",master_user="slaveuser",master_password="123456",master_log_file="master203.000001",master_log_pos=120;

mysql> start  slave;

mysql> show slave status\G;

IO  yes

SQL   yes

master203向master204发起同步操作,指定相关master172.16.1.2的相关参数

mysql   -uroot  -pxzw12345

mysql>   change master  to master_host="172.16.1.2",master_user="slaveuser",master_password="123456",master_log_file="master204.000001",master_log_pos=120;

mysql> start  slave;

mysql> show slave status\G;

IO  yes

SQL   yes

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

测试

1.master203

mysql  -uroot   -pxzw12345

mysql>  create  database  bbsdb;

mysql> grant all on  bbsdb.*  to   student@"%" identified by "123";

mysql> quit;

2.master204

mysql  -uroot   -pxzw12345

mysql>use bbsdb;

mysql> create  table  bbsdb.t1(id int);

mysql> quit;

3.在客户端访问(192.168.1.200):

ping  x.x.x.1

mysql  -hx.x.x.1  -ustudent   -p123

mysql>  insert into  bbsdb.t1  values(101);

在master203、master204

mysql  -uroot  -pxzw12345

mysql > select * from  bbsdb.t1  ; #也能够查看到记录

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本文为大家讲解的是mysql错误:Last_IO_Error: error connecting to master解决方法,感兴趣的同学参考下。

错误提示:

Slave_IO_Running: Connecting

Slave_SQL_Running: Yes

Last_IO_Errno: 2003

Last_IO_Error: error connecting to master 'slaveuser@172.16.1.1:3306' - retry-time: 60 retries: 1

错误原因:

主数据库服务器没有关闭防火墙。

解决措施:

1、去主服务器:172.16.1.1关闭防火墙。

[root@mysql204 ~]#  service iptables stop;chkconfig iptables off

iptables: Setting chains to policy ACCEPT: filter          [  OK  ]

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Unloading modules:                               [  OK  ]

2、去从服务器:stop slave;start slave;

mysql> stop slave;

Query OK, 0 rows affected (0.01 sec)

mysql> start slave;

Query OK, 0 rows affected (0.01 sec)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Keepalived高可用服务器(keepalived-1.2.7)

问题

两台Linux服务器(172.16.1.1、172.16.1.2),做MySQL服务器,并部署Keepalived高可用软件,一台作为客户端主机(192.168.1.200),实现如下功能:

  • 使用Keepalived实现MySQL服务器的高可用
  • Web服务器IP地址分别为172.16.1.1和172.16.1.2
  • Web服务器的漂移VIP地址为172.16.1.3
  • 客户端通过访问VIP地址访问MySQL服务

步骤

实现此案例需要按照如下步骤进行。

步骤一:配置网络环境

1)设置MySQL服务器网络参数

[root@mysql203 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=172.16.1.1
NETMASK=255.255.255.0
#DNS2=221.4.8.1
#GATEWAY=192.168.1.1
#DNS1=192.168.9.1
IPV6INIT=no
USERCTL=no

[root@mysql204 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=172.16.1.2
NETMASK=255.255.255.0
#DNS2=221.4.8.1
#GATEWAY=192.168.1.1
#DNS1=192.168.9.1
IPV6INIT=no
USERCTL=no

步骤二:安装Keepalived软件

注意:两台MySQL服务器做相同的操作。

[root@mysql203 package]#  yum install -y gcc kernel-devel openssl-devel popt-devel

[root@mysql203 package]#  tar -xzf keepalived-1.2.7.tar.gz

[root@mysql203 package]#  cd keepalived-1.2.7

[root@mysql203 keepalived-1.2.7]# ./configure --sysconf=/etc

[root@mysql203 keepalived-1.2.7]# make && make install

[root@mysql203 keepalived-1.2.7]#  ln -s /usr/local/sbin/keepalived /sbin/

[root@mysql203 keepalived-1.2.7]# chkconfig keepalived on

 

步骤三:部署Keepalived服务

1)修改web1服务器Keepalived配置文件

  1. [root@mysql203~]# vim /etc/keepalived/keepalived.conf
  2. global_defs {
  3. notification_email {
  4. admin@sina.com               //设置报警收件人邮箱
  5. }
  6. notification_email_from root@localhost    //设置发件人
  7. smtp_server 127.0.0.1                //定义邮件服务器
  8. smtp_connect_timeout 30
  9. router_id mysql203                        //设置路由ID号
  10. }
  11. vrrp_instance VI_1 {
  12. state MASTER                          //主服务器为MASTER
  13. interface eth1                        //定义网络接口
  14. virtual_router_id 51                    //主辅VRID号必须一致
  15. priority 100                     //服务器优先级
  16. advert_int 1
  17. authentication {
  18. auth_type pass
  19. auth_pass forlvs                      //主辅服务器密码必须一致
  20. }
  21. virtual_ipaddress { 172.16.1.3}
  22. }

2)修改mysql204服务器Keepalived配置文件

  1. [root@mysql204~]# vim /etc/keepalived/keepalived.conf
  2. global_defs {
  3. notification_email {
  4. admin@sina.com                //设置报警收件人邮箱
  5. }
  6. notification_email_from root@localhost    //设置发件人
  7. smtp_server 127.0.0.1                //定义邮件服务器
  8. smtp_connect_timeout 30
  9. router_id mysql204                       //设置路由ID号
  10. }
  11. vrrp_instance VI_1 {
  12. state SLAVE                          //从服务器为SLAVE
  13. interface eth1                        //定义网络接口
  14. virtual_router_id 51                    //主辅VRID号必须一致
  15. priority 90                       //服务器优先级
  16. advert_int 1
  17. authentication {
  18. auth_type pass
  19. auth_pass forlvs                      //主辅服务器密码必须一致
  20. }
  21. virtual_ipaddress { 172.16.1.3 }
  22. }

3)启动服务

  1. [root@mysql203~]# service keepalived start
  2. [root@mysql204~]# service keepalived start

步骤四:测试

1)登录两台Web服务器查看VIP信息

  1. [root@mysql203~]# ip addr show
  2. [root@mysql204~]# ip addr show

2) 客户端访问

客户端使用mysql命令连接172.16.1.3,查看mysql数据库;停掉MySQL203服务器,客户端再次查看mysql数据库,验证是否可以正常访问服务。

mysql  -h172.16.1.3  -ustudent   -p123

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

MySQL健康检查

一、

[root@mysql203 ~]# vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     linux985@sina.com
   }
   notification_email_from root@localhost
   smtp_server 172.0.0.1
   smtp_connect_timeout 30
   router_id mysql203
}

vrrp_script chk_mysql_proxy {
        script "/etc/keepalived/mysql.sh"
        interval 2  #间隔两秒
        weight 2
}
vrrp_instance VI_1 {
    state MASTER
    interface eth1
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
       172.16.1.3
    }
    track_script {
        chk_mysql_proxy

}
}

二、

[root@mysql203 ~]# vim /etc/keepalived/mysql.sh

#!/bin/bash  
MYSQL_OK=1
function check_mysql_helth (){

mysql -uroot -pxzw12345 -e "show status;" &>/dev/null
    if [ $? = 0 ] ;then
    MYSQL_OK=1
    else
    MYSQL_OK=0
    fi
    return $MYSQL_OK

}
check_mysql_helth
if [ $MYSQL_OK -eq 0 ]
then
  pkill keepalived
  exit 1
fi

MySQL主主高可用(keepalive)的更多相关文章

  1. MySQL + KeepAlived + LVS 单点写入主主同步高可用架构实验

    分类: MySQL 架构设计 2013-05-08 01:40 5361人阅读 评论(8) 收藏 举报 mysql 高可用 keepalive ㈠ 实战环境 服务器名· IP OS MySQL odd ...

  2. Apache+lvs高可用+keepalive(主从+双主模型)

    Apache+lvs高可用+keepalive(主从+双主模型)     keepalive实验准备环境: httpd-2.2.15-39.el6.centos.x86_64 keepalived-1 ...

  3. keepalived+mysql双主复制高可用方案

    MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换.而Keepalived通过虚拟IP,实现了 ...

  4. MySQL集群搭建(6)-双主+keepalived高可用

    双主 + keepalived 是一个比较简单的 MySQL 高可用架构,适用于中小 MySQL 集群,今天就说说怎么用 keepalived 做 MySQL 的高可用. 1 概述 1.1 keepa ...

  5. MySQL的keepalived高可用监控脚本

    MySQL的keepalived高可用监控脚本 MySQL(或者其它服务)的keepalived高可用监控脚本 开发脚本需求 :我们知道,keepalive是基于虚拟ip的存活来判断是否抢占maste ...

  6. MySQL数据库的优化(下)MySQL数据库的高可用架构方案

    MySQL数据库的优化(下)MySQL数据库的高可用架构方案 2011-03-09 08:53 抚琴煮酒 51CTO 字号:T | T 在上一篇MySQL数据库的优化中,我们跟随笔者学习了单机MySQ ...

  7. mysql数据库的高可用方法总结

    高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用.虽然互联网服务号称7*24小时不间断服务,但多多少少有一 些时候服务不可用,比如某些时候网页打不开,百度不能搜索或者无 ...

  8. 浅谈mysql主从复制的高可用解决方案

    1.熟悉几个组件(部分摘自网络)1.1.drbd     —— DRBD(Distributed Replicated Block Device),DRBD号称是 "网络 RAID" ...

  9. MySQL系列:高可用架构之MHA

    前言 从11年毕业到现在,工作也好些年头,入坑mysql也有近四年的时间,也捣鼓过像mongodb.redis.cassandra.neo4j等Nosql数据库.其实一直想写博客分享下工作上的零零碎碎 ...

随机推荐

  1. js中window.location的用法

    用window.location处理解析当前页面URL window.location 对象所包含的属性 属性 描述 hash 从井号(#)开始的URL(锚点) host 主机名和当前URL的端口号 ...

  2. 纪录:Solr6.4.2+Flume1.7.0 +morphline+kafka集成

    当前大多数企业版hadoop的solr版本都还停留在solr4.x,由于这个版本的solr本身的bug较多,使用起来会出很多奇怪的问题.如部分更新日期字段失败的问题. 最新的solr版本不仅修复了以前 ...

  3. Efficient ticket lock synchronization implementation using early wakeup in the presence of oversubscription

    A turn-oriented thread and/or process synchronization facility obtains a ticket value from a monoton ...

  4. vs code--snippet与快速提示

    因为快速语法提示和建议冲突,所以要么禁用语法提示,要么禁用建议 Note that quick suggestions and Tab completion might interfere becau ...

  5. Python之Mysql及SQLAlchemy操作总结

    一.Mysql命令总结 1.创建库 create database test1; 2.授权一个用户 grant all privileges on *.* to 'feng'@'%' identifi ...

  6. 基于ZF中的.htaccess文件学习Apache的Rewrite语法

    首先我们看一下这个.htaccess文件: RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST ...

  7. Hadoop-2.2.0中文文档——Apache Hadoop 下一代 MapReduce (YARN)

    MapReduce在hadoop-0.23中已经经历了一次全然彻底地大修.就是如今我们叫的MapReduce 2.0 (MRv2) or YARN. MRv2的基本思想是把JobTracker分成两个 ...

  8. luogu1168 中位数

    题目大意 给出一个长度为N的非负整数序列A[i],对于所有1 ≤ k ≤ (N + 1) / 2,输出A[1], A[3], -, A[2k - 1]的中位数.即前1,3,5,--个数的中位数. 题解 ...

  9. luogu1313 计算系数

    题目大意:给定一个多项式(ax+by)^k,请求出多项式展开后x^n*y^m 项的系数. 将原式化为(ax+by)*(ax+by)*...①,然后将其拆解,拆解时x乘了多少次,a就乘了多少次,y,b同 ...

  10. bootstrap模态框通过传值解决重复提交问题

    自己通过模态框确认是否提交的功能时,总是重复提价上次的请求. 原因:重复的原因是jquery通过id绑定了确定按钮的onclick事件,所以每次提交都会增加 一次绑定(没有清除上次的绑定),才造成了重 ...