最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

使用mysql-mmm实现mysql集群部署_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 19:42:25
文档

使用mysql-mmm实现mysql集群部署_MySQL

使用mysql-mmm实现mysql集群部署_MySQL:背景:之前实现的mysql同步复制功能(见笔者之前文章http://blog.csdn.net/kingofworld/article/details/39210937)只是双机热备功能,还不能做到Mysql链接的自动切换。 本配置实现真正的mysql集群,使得在某台机子的mysql应用停止时,能让应用程序
推荐度:
导读使用mysql-mmm实现mysql集群部署_MySQL:背景:之前实现的mysql同步复制功能(见笔者之前文章http://blog.csdn.net/kingofworld/article/details/39210937)只是双机热备功能,还不能做到Mysql链接的自动切换。 本配置实现真正的mysql集群,使得在某台机子的mysql应用停止时,能让应用程序
背景:之前实现的mysql同步复制功能(见笔者之前文章http://blog.csdn.net/kingofworld/article/details/39210937)只是双机热备功能,还不能做到Mysql链接的自动切换。

本配置实现真正的mysql集群,使得在某台机子的mysql应用停止时,能让应用程序自动切换到另外一台机子的mysql连接,实现应用的高稳定性,并且使得扩展Mysql服务成为可能。

本配置使用mysql-mmm(master-master Replication Manager for MySQL)组件实现集群功能。

本次演示的配置使用三台机器,架构如下:

\

Master1 和Master2两台机器实现双机热备,其中一台机器的mysql服务停止或机器宕机,应用程序都会将数据库连接自动切换到另外一台机子。另外用一台机子实时备份master1的数据。

1、安装mysql-mmm服务

在三台机器都安装

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh epel-release-6-8.noarch.rpm

yum -y install mysql-mmm*

完成后查看 rpm -qa|grep mysql-mmm

有以下组件表示安装成功

\

Rhel5或centos5,32位:http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Rhel6或centos6,32位:http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm

Rhel6或centos6,64位:http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

1、添加mysql的用户

在三台机器都添加mysql用户,分别用于复制、

进入mysql服务mysql -u root -p

use mysql;

grant REPLICATION slave,REPLICATION CLIENT on *.* to 'repl'@'%' identified by 'password'; //建立复制用户

grant PROCESS,SUPER,REPLICATION CLIENT on *.* to 'mmm_agent'@'%' identified by 'password'; //建立agent用户

grant REPLICATION CLIENT on *.* to 'mmm_monitor'@'%' identified by 'password'; //建立用户

FLUSH PRIVILEGES;

2、配置同步复制

配置复制的策略如架构图所示。

配置方法在我上一篇文章有介绍过,这里不再重复,见笔者之前文章http://blog.csdn.net/kingofworld/article/details/39210937

3、修改hosts

分别修改三台机器的hosts文件

vi /etc/hosts

添加

200.200.168.24 M1

200.200.168.25 M2

200.200.168.23 slave1

4、配置mysql-mmm

修改 /etc/mysql-mmm/mmm_common.conf 各台机子的配置都一样

active_master_role writer


 cluster_interface eth0
 pid_path /var/run/mysql-mmm/mmm_agentd.pid
 bin_path /usr/libexec/mysql-mmm/
 replication_user repl
 replication_password password
 agent_user mmm_agent
 agent_password password



 ip 200.200.168.24
 mode master
 peer M2



 ip 200.200.168.25
 mode master
 peer M1



 ip 200.200.168.23
 mode slave



 hosts M1,M2
 ips 200.200.168.26
 mode exclusive



 hosts M1,M2,slave1
 ips 200.200.168.27
 mode balanced

注意:200.200.168.26和200.200.168.27是两个虚拟的IP地址,供应用程序调用,只需用两个没人占用的IP就可以,分别用来提供写和读服务,为以后实现数据库的读写分离(但实现读写分离需要修改应用程序,mysql并不能自动识别并切换)。

修改/etc/mysql-mmm/mmm_agent.conf

三台机器分别设置为this M1、this M2、this slave1

修改/etc/mysql-mmm/mmm_mon.conf

只是monitor(200.200.168.24)机子需要配置

include mmm_common.conf

 ip 127.0.0.1
 pid_path /var/run/mysql-mmm/mmm_mond.pid
 bin_path /usr/libexec/mysql-mmm
 status_path /var/lib/mysql-mmm/mmm_mond.status
 ping_ips 200.200.168.24,200.200.168.25,200.200.168.23
 auto_set_online 10

 # The kill_host_bin does not exist by default, though the monitor will
 # throw a warning about it missing. See the section 5.10 "Kill Host 
 # Functionality" in the PDF documentation.
 #
 # kill_host_bin /usr/libexec/mysql-mmm/monitor/kill_host
 #


 monitor_user mmm_monitor
 monitor_password password

debug 0

配置完成后运行

三台机子都需运行:

/etc/init.d/mysql-mmm-agent start

Monitor机子运行

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

5、查看服务状态及测试

在monitor机子运行mmm_control show

可以看到以下信息:

\

表示写服务器(200.200.168.26)使用的是200.200.168.24

读服务器(200.200.168.27)使用的是200.200.168.25

查看各个服务的状态:

mmm_control checks all

\

6、测试:

将master1的mysql服务停止,然后mmm_control show查看状态

\

可以看到读写服务器都转移到了master2,这时服务器master1的流程应用还能够正常使用,可以进行申请流程测试

这时查看mmm_control checks all

\

将master1 的mysql服务启动,再查看状态:

\

读写服务器又分开了

\

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

使用mysql-mmm实现mysql集群部署_MySQL

使用mysql-mmm实现mysql集群部署_MySQL:背景:之前实现的mysql同步复制功能(见笔者之前文章http://blog.csdn.net/kingofworld/article/details/39210937)只是双机热备功能,还不能做到Mysql链接的自动切换。 本配置实现真正的mysql集群,使得在某台机子的mysql应用停止时,能让应用程序
推荐度:
标签: 实现 配置 mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top