全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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福建省面向中央民族大学选调生选拔工作备考题库附答案详解(预热题)
- 购买公墓合同协议书
- 购买高梁苗合同范本
- 2025年猪场饲养员考试题及答案
- 2025年医院陪诊师考试题及答案
- 2025北京门头沟龙泉镇流动人口协管员招聘2人备考题库及答案详解(名师系列)
- 2025山西临汾安泽县招聘专职社区工作者27人备考题库及答案详解(夺冠)
- 天才教师招聘面试题目及答案
- 作物生产与经营管理职业生涯规划书
- AI赋能传统制造业转型方案
- 成都燃气公司招聘笔试题
- GB/T 43543-2023漱口水
- 新高考数学全国卷1第20题说题课件
- 对外汉语阅读练习
- 2023燃煤锅炉一次风量热态调平试验方法
- 研究生学术英语视听说陈新仁课后参考答案
- 2023版接亲考卷(超齐全版)
- 入场三级安全教育培训教材
- 跨境电商客服工作
评论
0/150
提交评论