Mysql主从与分区技术讲解.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Mysql主从与分区技术讲解

修改独占空表空间 innodb_data_home_dir = C:\mysql\data\ innodb_log_group_home_dir = C:\mysql\data\ innodb_data_file_path=ibdata1:10M:autoextend innodb_file_per_table=1 ? 参数说明: 这个设置配置一个可扩展大小的尺寸为10MB的单独文件,名为ibdata1,没有给出文件的位置,所以默认的是在MySQL的数据目录内. innodb_data_home_dir????????????? 代表为数据库文件所存放的目录 innodb_log_group_home_dir????为日志存放目录 innodb_file_per_table?????????????? 是否使用共享以及独占表空间来 ? 以上的几个参数必须在一起加入 查看配置文件 重启mysql服务 查看variables参数 共享表空间文件 独立表空间文件 innodb表空间与分区 只有把innodb设置成独立表空间后,才能创建成功innodb表引擎的表分区 本章总结 1.Mysql用户授权 2.Mysql bin-log日志 3.Mysql主从复制 4.Mysql主从测试 5.Mysql分区技术 6.Mysql分区测试 Thanks * 查看状态 ,然后到slave服务器上执行手动同步 mysqlchange master to master_host=, master_user=user, master_password=pass, master_port=3306, master_log_file=mysql-bin.000005, master_log_pos= 106; 启动slave服务, Mysqlslave start; 通过show slave status查看Slave_SQL_Running为 Yes,Seconds_Behind_Master为0 即为正常 大数据存储 当?MySQL中一个表的总记录数超过了1000万,会出现性能的大幅度下降吗?答案是肯定的。但性能下降的比率由系统的架构、应用程序、数据库索引、服务器硬件等多种因素而定。数据库多达上亿的数据量,分表之后的单个表也已经突破千万,那么单个表的更新等均影响着系统的运行效率。甚至是一条简单的SQL都有可能压垮整个数据库,如整个表对某个字段的排序操作等 解决方案 目前,针对海量数据的优化主要有2种方法:大表拆小表的方式、SQL语句的优化 SQL语句的优化:可以通过增加索引等来调整,但是数据量的增大将会导致索引的维护代价增大 大表拆小表 垂直分表 对于垂直分表,它将一个N1+N2个字段的表Tab拆分成N1字段的子表Tab1和(N2+1)字段的子表Tab2;其中子表Tab2包含了关于子表Tab1的主键信息,否则两个表的关联关系就会丢失。当然垂直分表会带来程序端SQL的修改,若是应用程序已经应用很长的一段时间,然后程序的升级将是耗时而且易出错的,即升级的代价将会很大 水平分表 水平分区技术将一个表拆成多个表,比较常用的方式是将表中的记录按照某种Hash算法进行拆分,简单的拆分方法如取模方式。同样,这种分区方法也必须对前端的应用程序中的SQL进行修改方可使用。而且对于一个SQL,它可能会修改两个表,那么你必须得写成2个SQL语句从而可以完成一个逻辑的事务,使得程序的判断逻辑越来越复杂,这样也会导致程序的维护代价高,也就失去了采用数据库的优势。因此,分区技术可以有力地避免如上的弊端,成为解决海量数据存储的有力方法 Mysql分区介绍 MySQL的分区技术不同与之前的分表技术,它与水平分表有点类似,但是它是在逻辑层进行的水平分表,对与应用程序而言它还是一张表,MySQL5.1有4种分区类型: RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区   LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择   HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算,这个函数可以包含MySQL中有效的、产生非负整数值的任何表达式   KEY分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL服务器提供其自身的哈希函数 RANGE分区 例1:假定你创建了一个如下的表,该表保存有20家音像店的职员记录,这20家音像店的编号从1到20。如果你想将其分成4个小分区,那么你可以采用RANGE分区,创建的数据库表如下: 例2:假定你创建了一个如下的表,该表保存有20家音像店的职员记录,这20家音像店的编号

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档