简要剖析Mysql主从复制

1.1 产生背景

随着系统数据量的不断增加,由单台Mysql作为独立数据库无法满足业务需求,无论是在安全性(数据备份),高可用性(容错能力)及高并发(负载均衡)等各个方面。

因此,针对查询为主系统(select查询),可以采用主从复制策略。通过Mysql的主从复制(Master-Slave)来同步数据,再通过读写分离来提升数据库的并发负载能力,这样就可以得到更好的客户端响应时间。

1.2 工作原理

主从复制通过三个过程实现,其中一个发生在主服务器上,另外两个发生在从服务器上。

1.主服务器将用户对数据库的更新操作以二进制文件保存到BinaryLog日志文件中,然后由BinlogDump线程将BinaryLog日志文件传输给从服务器。

2.从服务器通过一个I/O线程将主服务器的BinaryLog日志文件中的更新操作复制到一个叫RelayLog的中继日志文件中。

3.从服务器通过另一个SQL线程将RelayLog中继日志文件中的操作依次在本地执行,从而实现主从之间数据的同步。

三个线程

1.BinLog Dump线程

BinLog Dump线程运行在主服务器上,主要工作是把BinaryLog二进制文件的数据发送到从服务器。使用SHOWPROCESSLIST语句查看该线程状态。

2.I/O线程

从服务器执行STARTSLAVE语句后,创建一个I/O线程。此线程运行在从服务器上,与主服务器建立连接,然后向主服务器发送更新请求。之后,I/O线程将主服务器的BinLogDump线程发送的更新操作,复制到本地RelayLog日志文件中。

3.SQL线程

SQL线程运行在从服务器上,主要工作是读取RelayLog日志文件中的更新操作,将这些操作依次执行,从而使主从服务器数据得到同步。

当有多台从服务器时,主服务器为每个当前连接的从服务器创建一个线程,每个从服务器有自己的I/O线程和SQL线程。关于这三个线程运行过程中可能出现的一些状态,可以参考… 阅读全文

php mktime的一个坑

最近在做一个文件夹清理脚本,文件夹是以 date('Ymd', time())来命名的,所以扫描文件夹,并把文件夹名称与当前时间作比对,如果是旧文件夹(3天前),则删除。

按说,逻辑非常清晰,处理起来不会有什么麻烦。

不过在测试mktime时,发现:

1
2
$t1=mktime(0, 0, 0, 09, 01, 2014);
$t2=mktime(0,
阅读全文

夏秋-慵懒的季节

今年北京的天气,不同往年,异常的燥热,也让人感觉懒懒散散。

每天上班写寥寥代码,下班无所事事,周末宅在家中。家?哦,暂时算是一个家吧。很久没有和朋友出去玩,也很久没煮一锅“菠菜肉丝面”。

以前非常厌烦冬天,因为不管做什么事,吃饭、穿衣甚至连洗澡睡觉都变得困难,面对寒冷,我不得不把自己包裹在厚重的衣物内。不过现在面对炎热,我同样束手无策,人就是这样,在大自然面前,永远都是那么的软弱无力。

如果可以的话,我愿修一颗闲心,做一个闲人,花间采露,竹丛嗅青,月下独酌,雪中赋诗。

做一个懒散的闲人,代替那个努力而无所获的自己。

我在北京,14年8月8日记。希望几年后,看到这些这么没志气的话,不会笑出声。

阅读全文

CURLER – 您身边的WEB采集专家

一个针对批量网页定向提取的采集器,例如,采集某个站点所有分类的文章,某个视频站所有视频详情, etc.

curler 网页采集器使用说明

1.配置好apache+php环境,安装php curl扩展并开启.

2.下载该程序源码包,并放置于web服务器根目录(压缩包中u148文件夹为示例代码).

3.新建站点文件夹,例如要抓取u148.net 文字分类的网页,则在程序根目录新建目录u148,u148目录下新建word.

4.拷贝u148/word下config.php,Main.php到站点文件夹下,并修改config中抓取配置和Main.php中命名空间.

5.修改程序根目录下doit.php $site变量,以及抓取的执行步骤,默认已经写好.

6.运行doit.php即可执行抓取程序.

也可以将doit.php加入crontab,这样它就可以每天定时执行抓取了

站点介绍:http://curler.xstudio.me/

下载地址:http://pan.baidu.com/s/1qWLjPRQ阅读全文

青春社区 – 分享与青春有关的日子

青春是什么?

我理解的青春是无数个日日夜夜为了梦想发奋努力

有美好有汗水有心酸

是人永远无法忘怀的时光

懵懵懂懂的青春,你每天在做些什么,又曾经历些什么。

如果青春是一本书,那么我的青春我来写……

项目介绍:

一个慢节奏的内容分享、情感交流社区.

慢节奏是希望你的心能静下来,解开身上的枷锁与伪装,在这里我们能真诚助人、以礼相待。青春社区不仅仅是个社区,更是一个大家庭。

在这里,你可以分享你的青春,你的经历,纵有心酸、有泪水,但这都是最真实地自己。

待我们年老时,回味起青春的点点滴滴,是否会觉得此生足矣?!

社区风格尽量简约质朴,力主转播一种正能量.

前期设计:

前期打算暂定图片、文字、小组等几个栏目。除小组外,网站内容主要由管理员填充,题材上尽量和青春相关,后期可以考虑开放一些权限以及增加一些新栏目,具体可参考豆瓣、u148、留客街等网站。

项目现状:

目前仅有一概念站youth.xstudio.mobi,开发上由我负责前后端,还缺几位靠谱的UI跟前端。同时,也欢迎感兴趣的后端及产品加入。… 阅读全文