Mysql复制
Mysql内建的复制功能是构建大型、高性能应用程序的基础。Mysql支持单向、异步复制,复制过程中一台服务器充当主服务器,而另外一个或多个服务器充当从服务器。这不仅仅对高性能的程序有益,对其他任务也方便,比如远程共享数据、保持"热备"等等。
复制解决的基本问题是让一台服务器的数据和另外的服务器保持同步。主服务器和从服务器可以位于不同的网络拓扑中,还能对整台服务器、特定的数据库、甚至特定的表进行复制。
在进入详细设置复制之前,先看看它实际是如何复制数据的。总体来说,复制有3个步骤:
1、主服务器把数据更改记录到二进制日志中。(这叫做二进制日志事件)
2、从服务器把主服务器的二进制日志拷贝到自己的中继日志中。
3、从服务器重放中继日志中的事件,把更改应用到自己的数据上。
这只是概述,每一个步骤都很复杂。下图更清晰描述了复制的过程。
第一步是在主服务器上记录二进制日志。在每个更新数据的事务完成之前,主服务器都会将数据更改记录到二进制日志中。即使事务在执行期间是交错的,mysql也会串行地将事务写入到二进制日志中。在把事件写入二进制日志之后,主服务器告诉存储引擎提交事务。
第二步是从服务器把主服务器的二进制日志拷贝到自己的硬盘上,进入所谓的"中继日志"中。首先,它启动一个工作线程,叫I/O线程,这个I/O线程开启一个普通的客户端连接,然后启动一个特殊的二进制日志转储进程(它没有相应的SQL命令)。这个转储进程从主服务器的二进制日志中读取数据。它不会对事件进行轮询。如果3跟上了主服务器,就会进入休眠状态并等待有新的事件发生时主服务器发出的信号。I/O线程把数据写入从服务器的中继日志中。
第三步SQL线程读取中继日志,并且重放其中的事件,然后更新从服务器的数据。由于这个线程能跟上I/O线程,中继日志通常在操作系统的缓存中,所以中继日志的开销很低。SQL线程执行事件也可以被写入从服务器自己的二进制日志中,它对于有些场景很实用。
本篇博文主要讲解Mysql的主从复制、半同步复制、基于SSL复制。
环境介绍:
系统:CentoS6.4-x86_64
主服务器:node1:172.16.18.7
从服务器:node2:172.16.18.9
Mysql版本:mysql-5.5.33
主从复制:
思路解析:
主服务器:创建具有复制权限的用户账号;设置server-id;启动二进制日志。
从服务器:启动中继日志;设置server-id;启动复制线程。
过程解析:
1、创建主从服务器并实现双机互信:
主服务器:
[root@node1~]# ssh-keygen -t rsa -P '' [root@node1~]##ssh-copy-id -i .ssh/id_rsa.pub root@172.16.18.9<
面对孕妇和老人,我无法安坐!
��乘车随想
作者:张国祥
因为往返上海市区的缘故,最近乘坐公共交通有点频繁。为了保证准时到达讲课地点或咨询的企业,乘坐地铁就成了首选。
我和其他人一样,上车就希望找到座位。头发花白、年过半百、还有点腰椎间盘突出、一上课就站一天的我更希望有座位。可是在上班高峰期,找个座位实在不容易。面对一个个年轻人,我是多么希望有一位良心发现、尊老爱幼、给我让个座啊!可是,二年来,在上海我给别人让过三次座,但还从来没有人给我让过座!
就今天吧,我所在车厢的两边座位上没有一个比我年长,多数都是年轻人,人人都在玩手机。没有人让座也就罢了,年轻人起得早、上班累,占个座也不容易。可是,当空位出来之后,应该让我这个年过半百的老头先坐吧?这只能是美好愿望!我从浦东到浦西需要乘坐九站,中间有后来的年轻人先我坐下了,也有中途抢到座位先我下车的,总之没有一个人让座。而列车上的广播每到一站都会重复提醒"请给有需要的人士让个座",在我听来却有了强烈的讽刺意味。
说起别人给我让座,那要回到几年前了。一次是五六年前在广东顺德坐公交车,有个女中学生给我让座,当时我的感觉是"我这么老了吗?居然有人给我让座了?"又有一次,是前年在广州坐地铁,有个女青年给我让座,我居然以为别人要下车了,顺便让的,我连谢谢也没有说就心安理得地坐下了。还是夫人在旁边帮我说的谢谢。谁知人家比我坐的站还多。
我在上海三次让座,一次是去年的事,两次是最近的事。
去年给老太太让座,是从上海南站回浦东。我实在是看不过年轻人坐着而年老体弱的人站着。那是在我坐下约半个站的距离,看不到年轻人让座之后,"愤"而做出的决定,我希望周围的年轻人感到难堪、感觉脸红。现在看来,这也只是我个人美好的一厢情愿!我也遇到过几位比我年长的人婉拒我的好意。
今年让座都发生在最近一周时间内。8号去交大讲课,我刚坐了一站,上来一个孕妇,看看无人让座,我立即把座位让给了她。最让我想不通的,旁边一女子在孕妇上车一站后就起身下车了。不论你是否已婚,作为一个女人,应该有一点起码的同情心吧?谁不是父母所生?谁不曾经历母腹的孕育?
前天从复旦回来,一位七十多岁的老人手中提着医院的袋子,上车后就站在列车中间,我左右坐着的都是年轻人,都在玩手机或用电脑,也没有人主动让座。我观察半个站的距离后,又"愤"而起身让座。半站,仅仅半站,旁边又有年轻人下车,我自然又有了座位!我真想不明白:年轻人明明就要下车了,为什么不能主动给年老体弱的人让个座?
面对孕妇和老人,我无法安坐。尊老爱幼,我做到了。我的孩子也做到了。作为父亲,我感到欣慰。但是,看到身边的年轻人不知礼让,作为老师,我感到惭愧。作为国际化大都市,上海居然有这么多的中国青年,无视尊老爱幼的中华传统,作为中国公民,我感到悲哀!
老吾老,以及人之老;幼吾幼,以及人之幼,年轻的朋友们,你们是否应该反思?国学大师们,看你们如何拯救中华传统?
本文出自 "企业流程优化设计专家-.." 博客,请务必保留此出处http://zhangguoxiang.blog.51cto.com/1943431/1298994
没有评论:
发表评论