


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Mysql互为主从+FEDERATED实现写负载均衡Edit by 笑天涯 Q:280916071环境规划:机器名操作系统IP角色MySQL01CentOS5.6 32bit0MasterslaveMySQL02CentOS5.6 32bit0Slavemaster1、 概述:Mysql主重复制多用在数据库容灾,读写分离方面,因互为主从结构在高并发下各自自增键生成的ID可能导致主键冲突,所有一般的结构式一主多重结构如图一: 图1 图二而是用双主或多主并是用全局唯一ID生成机制的结构如图2在图一中master节点是这个系统的写操作最频繁的节点,如果该节点出现故障则新的订单将无法写入库,可以采用淘宝是用的多系统拆策略,将不同系统的数据库独立,每个系统单独一个主从结构体。但是采用多主相互复制的结构,可以负载均衡写操作,实现多个写入口加多个读出口,提示系统的并发链接数量。2、 安装主要操作(1)、系统安装 略过(2)、mysql安装:本实验使用的mysql版本是mysql-5.5.34.tar.gz 、cmake版本是cmake-2.8.4.tar.gz,其他依赖包采用yum安装。1创建mysql用户和组:Groupadd mysql &useradd mysql passwd mysql 修改mysql密码2编译安装cmake 略3编译安装mysql :cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/home/mysql -DWITH_DEBUG=0 -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock -DINSTALL_PLUGINDIR=/usr/local/mysql/plugin -with-plugins=federated编译完成后就直接make &make install然后运行脚本mysql_install_db、设置为服务,放置f到/etc注:f中服务器配置下需新增一行 federated=1 ,该引擎默认是关闭的,然后重启服务3、 主从配置在master1 的f中确认以下选项,如果没有则添加binlog-bin = mysql-binserver-id = 1replicate-do-db = zhw-制定复制的数据库配置完后重启服务在从端的f中确认以下选项,如果没有则添加binlog-bin = mysql-binserver-id = 2binlog-do-db = zhw-制定复制的数据库配置完后重启服务-添加用于从端复制的用户和权限grant replication slave on *.* to repl0 identified by 123;-在从端sqlcmd中通过如下语句连接上主端(注意 ip、用户名、密码、文件、位置)change master to master_host=0,master_user=repl,master_password=123, master_log_file=mysql-bin.000009 ,master_log_pos=107;因是互为主从,所有在2台服务器上交换再次操作。4、 配置FEDERATED表在mysql 中执行:show enginesG;可看到FEDERATED引擎是yes则可用。在MySQL01 test库中创建表:Create table getid(maxid bigint not null,uname varchar(30)engine=Innodb;这个是普通的innodb表,用于记录数据库的最大ID当前值,该表非常重要,需经常做备份。在MySQL02 的test库中创建表:Create table getid(maxid bigint not null,uname varchar(30)engine= FEDERATEDCONNECTION=mysql:/repl:1230:3306/test/getid ;该表是MySQL01中的id最大表在MySQL02上的映射可像本地宝一样操作。创建获取过程:CREATE PROCEDURE get_id(in in_uname VARCHAR(30),-该表可配置多个选项out out_ActorID BIGINT)BEGINstart TRANSACTION;update test.getid-更新最大值set maxid=maxid+1 where uname=in_uname;select maxid into out_ActorID from test.getid where uname=in_uname; -返回最大值COMMIT;end5、 测试:在zhw库中创建表Create table GameActor(ActorID bigint not null,uname varchar(30) not null);该表用来保存角色的ID和角色名,因角色ID 需全局唯一,所以需要唯一机制创建角色ID创建角色过程:CREATE PROCEDURE CreateActor(in in_Ac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届河北省石家庄市普通高中化学高二上期中监测试题含解析
- 多语宝宝:如何高效利用黄金期
- 香格里拉酒店面试题及答案
- 颜料绘画测试题及答案
- java数据结构面试题及答案顺序表
- 家电公司降级降职管理办法
- 家电公司生产设备管理细则
- 小学数学六年级上册-期末口算题专项突破练习(含答案)北师大版
- 2022年河北省唐山一中(唐山市)高三下学期二模考试英语试题
- 室内物业绿化管理方案(3篇)
- 兰花花叙事曲二胡曲谱
- 调解协议书电子版5篇(可下载)
- 材料性能学(第2版)付华课件1-弹性变形
- GB/T 4909.4-2009裸电线试验方法第4部分:扭转试验
- PDCA质量持续改进案例一:降低ICU非计划拔管发生率
- 2023年烟台蓝天投资开发集团有限公司招聘笔试题库及答案解析
- 企业标准编写模板
- 初中道德与法治 九年级(维护祖国统一)初中道德与法治九年级作业设计样例
- 幼儿园绘本故事:《骄傲的大公鸡》 课件
- 江西省赣州市于都县2022-2023学年九年级化学第一学期期中监测试题含解析
- 新冠核酸检测实验室PCR管八联管滤芯吸头等耗材质检和储存程序
评论
0/150
提交评论