mysql高可用

1 mmm架构

mysql高可用集群    (mysql MMM   +  mysql主从同步)

1、公共配置

配置固定物理Ip地址   237   42   101   102    77

所有机器之间彼此可以ping通

服务器237   42   101   102 运行mysql数据库服务、

配置YUM源

在所有服务器237   42   101   102    77上安装

rpm  -q  perl  ||  yum  -y  perl

yum  -y  install  perl-*

2、配置主主结构 (237   42)

237的配置

mysql> grant  replication slave  on  *.* to  [email protected]"172.40.7.42" identified by "123";

[[email protected] mysql]# cat /etc/my.cnf

[mysqld]

log-bin=master237

server_id=237

:wq

[[email protected] mysql]#  service  mysql  restart

42的配置

mysql> grant  replication slave  on  *.* to  [email protected]"%" identified by  "123";

vim /etc/my.cnf

[mysqld]

server_id=42

log-bin=master42

log_slave_updates

:wq

service  mysql   restart

mysql  -uroot  -p123

mysql> change  master  to   master_host="172.40.7.237",master_user="slaveuser",master_password="123",master_log_file="master237.000001",master_log_pos=120;

mysql> start  slave;

在237上把自己配置为42的从数据库服务器

change  master  to   master_host="172.40.7.42",master_user="slaveuser",master_password="123",master_log_file="master42.000001",master_log_pos=120;

mysql> start  slave;

3、配置 101  和  102 做42 的从数据库服务器

vim /etc/my.cnf

[mysqld]

server_id=101

:wq

service  mysql  restart

mysql> change  master  to   master_host="172.40.7.42",master_user="slaveuser",master_password="123",master_log_file="master42.000001",master_log_pos=120;

mysql> start  slave;

在所有服务器237   42   101   102    77上安装mysql-mmm软件

unzip  mysql-mmm.zip

cd  mysql-mmm

tar  -zxvf  mysql-mmm-2.2.1.tar.gz

cd mysql-mmm-2.2.1

make  install

ls /etc/mysql-mmm/*.conf

在所有数据库服务器上授权

grant  replication client,process,super  on *.*  to   [email protected]"%"   identified by  "123456";

grant  replication  client  on *.*  to      [email protected]"%"   identified by "123456";

----------------------------------------------------------------

mysql-mmm简介?

监控、故障转移     (perl 脚本程序)

软件安装后提供2种进程

mmm-monitor   监控进程

运行在监控端 77

负责所有的监控工作的监控守护进

程,决定故                             障节点的移除或恢复

mmm-agent       代理进程

运行在被监控端237  42   101   102

提供简单远程服务集、提供给

监控节点

写vip   172.40.7.100

读vip   172.40.7.110

172.40.7.120

文档详解

mmm_mon.conf     mmm-monitor监控进程的主配置文件

只需要在监控服务器上有

mmm_agent.conf   mmm-agent代理进程的主配置文件

只需要在数据库服务器上有

[[email protected] 桌面]# cat /etc/mysql-mmm/mmm_agent.conf

include  mmm_common.conf

this  master237

[[email protected] 桌面]#

mmm_common.conf   所有服务器上都要有的文件。

定义服务器角色的配置文件

4 启动服务

4.1  启动mmm_agent进程(101  102   42    237)

日志文件  /var/log/mysql-mmm/mmm_agentd.log

cd  mysql-mmm

sh  a.sh

[[email protected] mysql-mmm]# /etc/init.d/mysql-mmm-agent start

Daemon bin: ‘/usr/sbin/mmm_agentd‘

Daemon pid: ‘/var/run/mmm_agentd.pid‘

Starting MMM Agent daemon... Ok

[[email protected] mysql-mmm]#

4.2  启动mmm_mon进程(77)

/var/log/mysql-mmm/mmm_mond.log 日志文件

cd  mysql-mmm

sh  a.sh

# /etc/init.d/mysql-mmm-monitor start

# mmm_control   help

[[email protected] mysql-mmm]# mmm_control show

master237(172.40.7.237) master/AWAITING_RECOVERY. Roles:

master42(172.40.7.42) master/AWAITING_RECOVERY. Roles:

slave101(172.40.7.101) slave/AWAITING_RECOVERY. Roles:

slave102(172.40.7.102) slave/AWAITING_RECOVERY. Roles:

[[email protected] mysql-mmm]#

[[email protected] mysql-mmm]# mmm_control show

master237(172.40.7.237) master/ONLINE. Roles: writer(172.40.7.100)

master42(172.40.7.42) master/AWAITING_RECOVERY. Roles:

slave101(172.40.7.101) slave/AWAITING_RECOVERY. Roles:

slave102(172.40.7.102) slave/AWAITING_RECOVERY. Roles:

mmm_control set_online slave101

安装获取虚拟ip地址的程序

yum -y install gcc   gcc-c++

gunzip  Net-ARP-1.0.8.tgz

79  tar  -xvf Net-ARP-1.0.8.tar

80  cd Net-ARP-1.0.8

81  rpm -q gcc

82  yum -y install gcc  gcc-c++

83  perl Makefile.PL

84  make

85  make install

86  ip addr show  查看虚拟ip地址的命令

时间: 2024-10-10 16:21:03

mysql高可用的相关文章

Mysql+DRBD+Heartbeat 实现mysql高可用的双击热备(DRBD篇)

DRBD官方tar包下载地址:   http://oss.linbit.com/drbd/ 环境介绍: 系统版本:CentOS 6.4 (64位) 内核版本  2.6.32-358.el6.x86_64 软件版本:drbd-8.4.3.tar.gz 主:10.0.0.1   从:10.0.0.2 两台机器上的hosts都需要修改: [[email protected] ~]# vim /etc/hosts 10.0.0.1    node1 10.0.0.2    node2 两台服务器双网卡,

Mysql+DRBD+Heartbeat 实现mysql高可用的双机热备(mysql+heartbeat篇)

*************************************部署MYSQL******************************************* yum -y install  gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake bison* useradd mysql -d /usr/loc

HA集群之DRBD实现MySQL高可用

一.前言 本篇博文只是实现Corosync + Pacemaker + DRBD + MySQL,实现MySQL的高可用.更多的基础知识在前几篇博文中已有涉猎,故更多的理论细节将不再此篇中详述. 若想了解高可用基础知识,请参考:http://hoolee.blog.51cto.com/7934938/1406951 若想了解Corosync + Pacemaker,请参考:http://hoolee.blog.51cto.com/7934938/1409395 若想了解DRBD,请参考:http

企业中MySQL高可用集群架构三部曲之MM+keepalived

各位老铁们,老张与大家又见面了.看到各位在博客里面给我的留言和访问量的情况,我很是欣慰,也谢谢大家对我的认可.我写这些博客,就是想把自己对于MySQL数据库的一些看法和自己平时的实战经验分享出来,我们可以一起探讨,共同进步.也保证今后只要一有空就更新博文,推出更多的干货. 我的学生经常对我说:"张老师,每次我遇到报错,有时还是会百度,但是最烦的是不知道百度哪篇帖子说的是正确的".其实这些呢,都是因为自己还没有对MySQL数据库核心知识的不熟悉,和对技术掌握的不牢固.平时下得功夫还是不到

修改MySQL高可用模块接收自定义VIP参数

但凡是MySQL DBA肯定都听说过MHA个高可用方案,而且很多公司都是通过对MHA做二次开发来实现MySQL高可用的.如果MHA不结合VIP的话,每次主库切换都需要程序修改连数据库的配置,这样比较麻烦.而采用MHA+VIP的方式时可以在主库切换的过程中让VIP漂移到新主库,省去了改数据库配置这一过程. 公司以前是每一组主从复制集群都配置一个manager结点,然后将vip和网络接口等信息都写死在master_ip_failover和master_ip_online_change脚本中.当主从集

MySQL高可用系列之MHA(二)

一.参数说明 MHA提供了一系列配置参数,深入理解每个参数的具体含义,对优化配置.合理使用MHA非常重要,很多高可用性也都是通过合理配置一些参数而实现的. MHA包括如下配置参数,分别说明如下: hostname/ip/port (Local Only) hostname为MySQL Server的IP地址或主机名: ip为MySQL Server的IP地址,缺省从$hostname中获取:port为MySQL Server的端口号,缺省为3306 ssh_host/ssh_ip/ssh_por

通过MMM构建MYSQL高可用集群系统

本文为南非蚂蚁的书籍<循序渐进linux-第二版>-8.4的读笔记 MMM集群套件(MYSQL主主复制管理器) MMM套件主要的功能是通过下面三个脚本实现的 1)mmm_mond 这是一个监控进程,运行在管理节点上,主要负责都所有数据库的监控工作,同时决定和处理所有节点的角色切换 2)mmm_agentd 这是一个代理进程,运行在每个MYSQL服务器上,主要完成监控的测试工作以及执行简单的远端服务设置 3)mmm_control 简单的管理脚本,用来查看和管理集群运行状态,同事管理mmm_mo

第22章 mysql 高可用MMM、MHA

2015-10-25 目录 参考资料 [1] 唐汉明.深入浅出MySQL 数据库开发.优化与管理维护(第2版)[M].北京:人民邮电出版社,2014 [2] Schwartz.高性能MySQL(第3版)[M].北京:电子工业出版社,2013 [3] 分享MYSQL中的各种高可用技术(源自姜承尧大牛) [4] MHA工作原理 [5] 技术实战:基于 MHA 方式实现 MySQL 的高可用(1) [6] mysql HA方案: MHA [7] mysql高可用方案MHA介绍 [8] Mysql5.5

keepalived结合MHA实现mysql高可用

本例结合本博另一篇文章 MHA-大杀器实现MYSQL单主宕机时,VIP漂移实现高可用,环境请参考上一篇文章 本例使用keepalived-1.1.20.tar.gz版本 [[email protected] keepalived-1.1.20]# ./configure --sysconf=/etc/ #此项表示设置keepalived的根目录 如果编译报错"configure: error: Popt libraries is required" 则yum -y install po