云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 读写分离的三种方法

读写分离的三种方法

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 10:31:27

RPM -- perl-DBD-MySQL-3.0007-1.fc6 mmm-1.0.tar.bz2 先安裝2个perl的包: -- -- Algorithm-Diff-1.1902.tar.gz Proc-Daemon-0.03.tar.gz perl包的安裝過程都是: perl Makefile.PL make make test make install 安裝mmm: ./install.pl

2、安装node1 node2 agent软件包(使用agent功能) mmm-1.0.tar.bz2 安裝mmm: ./install.pl

三台主机安装以上软件后进行配置过程 三:node1 node2 的agent配置过程 $cd /usr/local/mmm/etc

$cp examples/mmm_agent.conf.examples ../mmm_agent.conf node1配置文件所需要修改的地方如下

cluster_interface eth0 --配置IP所用的网卡 # Define current server id this db1 this db1 mode master

# For masters peer db2 Peer db2

# Cluster hosts addresses and access params host db1 ip 192.168.1.2 port 3306 user rep_agent password RepAgent host db2 ip 192.168.1.3 port 3306 user rep_agent password RepAgent

Node2配置文件所需要修改的地方如下 # Cluster interface

cluster_interface eth0 --配置IP所用的网卡 # Define current server id this db1

this db2 mode master

# For masters peer db2 Peer db1

# Cluster hosts addresses and access params host db1 ip 192.168.1.2 port 3306 user rep_agent password RepAgent host db2 ip 192.168.1.3 port 3306 user rep_agent password RepAgent 设置权限(node1/node2)

GRANT ALL PRIVILEGES on *.* to 'rep_monitor'@'%' identified by 'RepMonitor'; 四、修改mon主机的配置文件 所需要修改的地方如下: 文件位置:/usr/local/mmm/etc/mmm_mon.conf # Cluster interface

cluster_interface eth0 ----配置IP所用的网卡 # Cluster hosts addresses and access params host db1 ip 192.168.1.2 port 3306 user rep_monitor password RepMonitor mode master peer db2 host db2 ip 192.168.1.3 port 3306 user rep_monitor password RepMonitor mode master peer db1 数据库名 node1 ip node1 port node1 用户(供mon监控使用,该用户需要在db上添加) 对应密码 模式 slave指定 意义同上 #后续如有添加需求,请按照上面格式填写

active_master_role writer # Mysql Reader role role reader mode balanced servers db1,db2 ip 192.168.1.7, 192.168.1.8 # Mysql Writer role role writer mode exclusive servers db1,db2 ip 192.168.1.9 写规则 模式为独占 规则负载db1 db2 两台数据库公用一个ip为写,采用HA模式,默认db1使用,db1下线db2接管此ip 五:测试MMM

在db1/db2上启动agent功能

/usr/local/mmm/scripts/init.d/mmm_agent start 在mon上启动mon功能

/usr/local/mmm/scripts/init.d/mmm_mon start 并对mon进行检测

# mmm_control set_online db1 # mmm_control set_online db2 # mmm_control show 查看分配情况 正常情况下:

# mmm_control show Servers status:

db1(192.168.1.2): master/ONLINE. Roles: reader(192.168.1.7;), writer(192.168.1.9;) db2(192.168.1.3): master/ONLINE. Roles: reader(192.168.1.8;) stop 192.168.1.3 # mmm_control show Servers status:

db1(192.168.1.2): master/ONLINE. Roles: reader(192.168.1.7;), writer(192.168.1.9;) db2(192.168.1.3): master/REPLICATION_FAIL. Roles: None 检测出1.3出了故障.

等一会..进行了切换!因为读写是轮循的.这时写切到了3 # mmm_control show Servers status:

db1(192.168.1.2): master/ONLINE. Roles: reader(192.168.1.7;)

db2(192.168.1.3): master/ONLINE. Roles: reader(192.168.1.8;), writer(192.168.1.9;) Telnet 任何一个虚拟IP 3306都是通的 五、mysql_proxy与mysql MMM集成的必要性

模式为均摊 规则覆盖db1 db2(如有更多slave 继续填写,别忘了ip ) 对应ip 虚拟的IP 读规则 1、实现mysql数据库层的负载均衡 2、数据库节点实现HA动态切换 3、读写分离,降低主数据库负载 六、安装mysql proxy 1、下载proxy代码包 从svn上获取最新代码

svn co [url]http://svn.mysql.com/svnpublic/mysql-proxy/trunk[/url] mysql-proxy 2、安装

编译好的版本安装方法如下:

# tar zxf mysql-proxy-0.6.0-linux-rhas4-x86.tar.gz # cd mysql-proxy-0.6.0-linux-rhas4-x86 #可以看到有2个目录 # ls sbin share

# mv sbin/mysql-proxy /usr/local/sbin/ # ls share

mysql-proxy tutorial-constants.lua tutorial-packets.lua tutorial-rewrite.lua tutorial-warnings.lua tutorial-basic.lua tutorial-inject.lua tutorial-query-time.lua tutorial-states.lua

#将lua脚本放到/usr/local/share下,以备他用 # mv share/mysql-proxy /usr/local/share/ #删除符号连接等垃圾代码

# strip /usr/local/sbin/mysql-proxy proxy与MMM集成

连接接管 Proxy 192.168.1.5 读操作 Db1 192.168.1.7:3306 Db2 192.168.1.8:3306 写操作 Db1/db2 192.168.1.9 默认db1先用,db1当机,db2接管 mysql-proxy --proxy-read-only-backend-addresses=192.168.1.7:3306 --proxy-read-only-backend-addresses=192.168.1.8:3306 --proxy-backend-addresses=192.168.1.9:3306

--proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua & 现在解释一下:

--proxy-backend-addresses=192.168.1.9:3306 指定mysql写主机的端口

--proxy-read-only-backend-addresses=192.168.1.7:3306 指定只读的mysql主机端口 --proxy-read-only-backend-addresses=192.168.1.8:3306 指定另一个只读的mysql主机端口 --proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua 指定lua脚本,在这里,使用的是rw-splitting脚本,用于读写分离 完整的参数可以运行以下命令查看: mysql-proxy --help-all

运行以下命令启动/停止/重启mysql proxy:

4040

搜索更多关于: 读写分离的三种方法 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

RPM -- perl-DBD-MySQL-3.0007-1.fc6 mmm-1.0.tar.bz2 先安裝2个perl的包: -- -- Algorithm-Diff-1.1902.tar.gz Proc-Daemon-0.03.tar.gz perl包的安裝過程都是: perl Makefile.PL make make test make install 安裝mmm: ./install.pl 2、安装node1 node2 agent软件包(使用agent功能) mmm-1.0.tar.bz2 安裝mmm: ./install.pl 三台主机安装以上软件后进行配置过程 三:node1 node2 的agent配置过程 $cd /usr/local/mmm/etc $cp examples/mmm_agent.conf.examples

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com