




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MyCAT 读写分离模式智能优化方案修订记录日期描述 作者 邮箱 QQ 版本号 2015-03-30创建文档杨超654839088V1.00目录1. 前言31.1 编写目的31.2 预期读者32. MySQL 引擎浅谈33. 取长补短,兼容并包44. MySQL 主从配置55. 主从配置的 MySQL 创建表方式66. 启用 Mycat 的读写分离机制77. 两种模式的执行时间比照图71.前言1.1 编写目的通过对 mycat 的研究和使用,目前已经正式应用于我公司的项目中,为了感谢群里各位朋友的帮助,现对 mycat 读写分离模式的智能优化方案分享给大家。本文
2、档属于进阶篇,写者建议大家在阅读本文档之前,请先阅读mycat 的入门文档,并能初步使用mycat 时再阅读。本人技术泛泛,若有不对之处,望大能指出。1.2 预期读者本文的预期读者包括:技术管理人员、技术开发人员、运维人员2. MySQL 引擎浅谈在进入正题前,我这里先与大家谈谈 MySql 的引擎InnoDB 与 MyISAM,这里,本文只考虑这两种引擎,因为这两个是常见的。MyISAM 是 MySQL 中默认的存储引擎,一般来说不是有太多人关心这个东西。决定使用什么样的存储引擎是一个很 tricky 的事情,但是还是值我们去研究一下。下面先让我们回答一些问题:你需要事务支持吗? 你需要全文
3、索引吗?你经常使用什么样的查询模式?思考上面这些问题可以让你找到合适的方向,但那并不是绝对的。如果你需要事务处理, 那么 InnoDB 可能是比较好的方式。如果你需要全文索引,那么通常来说 MyISAM 是好的选择,因为这是系统内建的。事务支持,是一个影响你选择什么样存储引擎的重要因素,事务支持趋向于选择 InnoDB 方式,因为其支持事务处理和故障恢复。另外 InnoDB 可以利用事务日志进行数据恢复,这会比 MyISAM 快很多。而 MyISAM 可能会需要几个小时甚至几天来干这些事,InnoDB 只需要几分钟。当然操作数据库表的习惯可能也会是一个对性能影响很大的因素。比如: COUNT(
4、) 在MyISAM 表中会非常快,而在 InnoDB 表下可能会很痛苦。另外 MyISAM 存储引擎在筛选大量数据时非常迅速,这是它最突出的优点。MyISAM 还提供了大量的特性,包括全文索引、引擎是合适的。所以,到底你检使用哪一个呢?根据应用场景来说:MyISAM 管理非事务表。它提供高速存储和检索,以及全文搜索能力。如果应用中需要执行大量的 SELECT 查询,那么 MyISAM 是更好的选择。InnoDB 用于事务处理应用程序,具有众多特性,包括 ACID 事务支持。如果应用中需要执行大量的 INSERT 或 UPDATE 操作,则应该使用 InnoDB,这样可以提高多用户并发操作的性能
5、。3.取长补短,兼容并包如前文所述,MySQL 的引擎各有千秋,我设计方案的初衷就是希望能结合两种引擎的优势,摒弃各自的劣势,创造出一种接近“理想”状态的使用方式,既可以做到 InnoDB 的事务处理,又可以使用到 MyISAM 特性。而这种方式简单概括起来就是:利用 MyCat 的读写分离模式,写节点使用 MySql 的 InnoDB 引擎,读节点使用的是 MySql 的 MyISAM 引擎。如下图所示:Mycat 的入门使用教程,这里我不再赘述,有需要请到/MyCATApache/Mycat-doc 下载。这里我详细谈谈如何利用 Mycat 的读写分离机制
6、来最大限度的利用 MySQL 强大的功能。4. MySQL 主从配置我们的方案设计基于 Mysql 的主从数据复制功能,以下是基于 mysql5.5 以上版本最新的主从配置。开启 mysql 主从数据复制,主要在 mysql 的 my.ini 文件中设置:windows 系统一般在 c:ProgrameDataMySQL 中:Linux 系统一般在 /etc/f 中:1、主数据库服务器配置:server-id=1log-bin=mysql-bin binlog-do-db=Industry/只同步 Industry 数据库binlog-ignore-db=mysql/避免同步 mys
7、ql 用户配置,以免不必要的麻烦binlog-ignore-db=performance_schemabinlog-ignore-db=information_schema2、创建一个允许从服务器来访问的用户(主服务器):grant replication slave on *.* to root8 identified by root;说明:root:Slave 使用的账号IDENTIFIED BY root :Slave 使用的8:Slave 数据库 IPmaster 端,通过 show master statusG 显示信息。如图:注意上图中的
8、 File,和 Position。Slave 中会用到这些信息。3、从数据库服务器配置:/服务 Id,注意要和 master 的 server-id 不一样server-id=11log-bin=mysql-binrelay-log-index=slave-relay-bin.indexrelay-log=slave-relay-bin sync_master_info=1 sync_relay_log=1 sync_relay_log_info=14、关联上 Master 信息:change master tomaster_host=8,master_user=root
9、,master_port=3306,master_password=rootmaster_log_file=mysql-bin.000001,master_log_pos=120;命令说明:master_host:master 数据库服务器 ipmaster_user: master 数据库通过 GRANT 授权的账号master_port:master 数据库使用的端master_password:master 数据库通过 GRANT 授权的master_log_file:master 数据库中通过 show master status 显示的 File 名称master_log_pos:m
10、aster 数据库中通过 show master status 显示的 Position 数据重启 Slave 的 MySql 服务在命令行中输入 start slave.在命令行中输入 show slave status,显示如下:注意:只有 Slave_IO_Running 与 Slave_SQL_Running 都为 Yes 才配置成功。至此,配置全部完成。这样,Master 服务器上 Industry 里的数据就能同步到 slave 的 Industry数据库中。5. 主从配置的 MySQL 创建表方式由于 Mysql 已经配置好了主从复制,在创建表时,我们要注意,在 Master 库
11、中创建表后,Mysql 会自动在 Slave 库中创建一张表。这里我们需要做的是,将从库中自动创建的表删除,然后手动创建一张我们符合我们需求的表。具体操作步骤如下:1. 在主库中创建表 A,引擎选择 Innodb;2. 删除从库中自动创建的表 A;3.在从库中创建表 A,引擎选择 MyISAM;6. 启用 Mycat 的读写分离机制最后启用 Mycat 的读写分离机制即可。7. 两种模式的执行时间比照图再多的废话也不如实际的测试来的有效,接下来,让我们实际测试利用这种方案能给我们带来多大的执行效率。首先,在开启 mycat 的读写分离机制后,如下图:此时写入库的引擎为Innodb,读库的引擎为MyISAM,这时使用count 语句,执行时间如下图:使用 like 条件语句执行时间如下图:使用等于条件语句执行时间如下图:接下来,我们取消读写分离机制,见下图:此时只有写入库,并且引擎为 Innodb,这时使用 count 语句,执行时间如下图:使用 like 条件语句执行时间如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风电技能培训课件图片大全
- 基于新型自注意力-卷积的结构振动数据综合恢复与降噪方法研究
- 风机安全培训课件
- 达芬奇下搭桥护理配合
- 护理安全与质量持续改进
- 颈椎病中医教学课件
- 肺炎诊疗教学大纲
- 内科学的历史
- 2025年山东省烟台市中考招生考试数学真题试卷(真题+答案)
- 预防烧伤安全课件
- JGT266-2011 泡沫混凝土标准规范
- 【中班幼儿分享行为现状及其培养策略研究(数据图表论文)5000字】
- 速冻隧道安全操作规程
- (骨科)维生素D水平评估在骨科的应用及研究新进展课件
- 烟草证迁移申请书范本
- 狮子王-中英文-剧本台词(全)
- 13G322-1~4《钢筋混凝土过梁(2013年合订本)》
- 商铺租赁合同(有利于承租方)
- C语言开发基础教程(Dev-C++)(第2版)PPT完整全套教学课件
- 宁波大学岗位设置管理实施办法汇编-征求意见稿
- 外研版(2019)选择性必修第三册 Unit 1-6 课文知识点语法填空(含答案)
评论
0/150
提交评论