mysql的主从 构架 复制半同步SSL加密复制的实现.doc
《mysql的主从 构架 复制半同步SSL加密复制的实现.doc》由会员分享,可在线阅读,更多相关《mysql的主从 构架 复制半同步SSL加密复制的实现.doc(11页珍藏版)》请在三一文库上搜索。
1、mysql的主从 构架 ,复制,半同步,SSL加密复制的实现mysql主从构架:在企业应用中,mysql经常采用主从构架,或者主主架构,这样可以实现mysql服务器的负载均衡,提升mysql服务器的性能。而关键是,可以实现mysql的数据同步复制功能,来为企业数据备份提供一种方便的机制。一.首先了解下mysql的复制功能:1)支持一主多从的机制,数据通过同步从主服务器复制都从服务器里2)支持多级结构,主从从从主主(互为主从)3)支持过滤的功能(可以只复制主服务的部分数据而非全部)二.关于主从构架的mysql,为了数据的一致性,修改数据只能在主服务器上执行,我们来了解一下它的复制类型1)基于语句
2、的复制:把在主服务上执行的语句,在从服务器上在执行一次。这种方式有缺陷,如果是像updatat1SETSALRIS=SALARIS+1000,那么对每个需要更改的数据执行1000次,而不是基于行,大量浪费了系统资源。2)基于行的复制Row:改变以后的内容复制过去,而不是重新执行一遍。updatet1SETSALARIS=SALARIS+10003)混合类型复制:语句+行优先使用语句复制,如果语句复制的内容和数据精确,启用行复制但是想象一下,这种构架的复制单主服务器如果写的操作比较多,可能会成为系统瓶颈。而从服务器过多也会造成存储空间的浪费。所以这种构架只能为读操作提供优化,对数据的写入,只能依
3、赖主服务器。复制的主要功用:1)实现数据的分布式存储(Datadistribution),但这种分布是指主从服务器都提供同样的数据。2)实现数据的负载均衡(主要指读,写需要别的机制实现),主要通过LVS集群或者mysql-proxy来实现。3)备份(backup)在从服务器上发出复制请求,主服务器将数据传输给从服务器后,进行热备或者温备,或者当需要备份的时候将服务停下来,进行冷备。4)提供高可用和及其故障转移功能:确保服务不会断掉。5)测试mysql的升级:将主服务上数据备份到从服务器,从服务升级如果可以使用,升级为主服务(如果性能较差,只是临时替代)。三.主要注意的地方:1)mysql复制过
4、程在网络上传输时是明文的,不过支持SSL加密。2)mysql复制要求主从架构的服务器的serverid不能相同。=分割线=下面我们来实现主从构架的mysql服务器及复制过程,需要准备两台虚拟机,一台做主mysql,一台做从mysql,如下图:1)设置一个服务器成为主服务器#主服务器一定要设置成静态地址#5.5以下版本要将默认引擎设置为innodb,设置方法:在/etc/my.cf里添加default-engine=innodb,再重启服务,安装过程不再累赘,笔者采用二进制包的mysql5.5(1)配置好IP,ifconfigeth0172.16.14.11vim/etc/sysconfig/n
5、etwork-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=staticONBOOT=yesHWADDR=00:0c:29:f5:6d:47IPADDR=172.16.14.11NETMASK=255.255.0.0GATEWAY=172.16.0.1ifconfigeth0172.16.14.11vim/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=staticONBOOT=yesHWADDR=00:0c:29:f5:6d:47IPADDR=172.16.14.11NETMASK=25
6、5.255.0.0GATEWAY=172.16.0.1(2)修改配置文件,使它成为主服务器vim/etc/f#添加或修改如下行#如果是5.0版本须添加:default-engine=innodblog-bin=mysql-binlog-bin-index=mysql-bin.indexbinlog_format=mixdserver_id=1servicemysqlrestartvim/etc/f#添加或修改如下行#如果是5.0版本须添加:default-engine=innodblog-bin=mysql-binlog-bin-index=mysql-bin.indexbinlog_form
7、at=mixdserver_id=1servicemysqlrestart(3)创建用户,授予权限mysqlmysqlGRANTREPLICATIONCLIENT,REPLICATIONSLAVEON*.*TOrepl172.16.%.%IDENTIFIEDBYredhat;#REPLICATIONCLIENT:用户有权询问附属者/控制者在哪里。REPLICATIONSLAVE:回复附属者所需。mysqlFLUSHPRIVILEGES;mysqlmysqlGRANTREPLICATIONCLIENT,REPLICATIONSLAVEON*.*TOrepl172.16.%.%IDENTIFIED
8、BYredhat;#REPLICATIONCLIENT:用户有权询问附属者/控制者在哪里。REPLICATIONSLAVE:回复附属者所需。mysqlFLUSHPRIVILEGES;2)设置一个服务器成为从服务器vim/etc/f#从服务器不需要二进制日志,只需要启动中继日志注释掉log-bin和binlog_formatrelay-log=relay-bin#从服务器需要开启中继日志relay-log-index=relay-bin.indexserver-id=11#id=1是主服务器,其余表示从服务器servicemysqdstartmysql#查看relay相关的变量设置,几serve
9、r_id的值mysqlSHOWVARIABLESLIKErelay%;mysqlSHOWVARIABLESLIKEserver_id;#设置连接账号和密码,(可以设置使用SSL等)mysqlCHANGEMASTERTOMASTER_HOST=172.16.14.11,mysqlMASTER_USER=repl,#注意是逗号mysqlMASTER_PASSWORD=redhat;#查看下从服务的状态,是否开启mysqlSHOWSLAVESTATUSG#开启从服务器mysqlSTARTSLAVE#过一会,再使用SHOW命令查看状态。mysqlSHOWSLAVESTATUSG#如果错误,查看错误日志
10、mysqlSHOWVARIABLESLIKE%erro%vim/etc/fslave_skip_erros=ONvim/etc/f#从服务器不需要二进制日志,只需要启动中继日志注释掉log-bin和binlog_formatrelay-log=relay-bin#从服务器需要开启中继日志relay-log-index=relay-bin.indexserver-id=11#id=1是主服务器,其余表示从服务器servicemysqdstartmysql#查看relay相关的变量设置,几server_id的值mysqlSHOWVARIABLESLIKErelay%;mysqlSHOWVARIAB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mysql的主从 构架 ,复制,半同步,SSL加密复制的实现 mysql 主从 复制 同步 SSL 加密 实现
链接地址:https://www.31doc.com/p-10254717.html