Mysql主从同步延迟受到多种因素影响, 比如大事务, 从库查询压力, 网路延迟等; 这些比较常见; 但还受到主从机器系统时钟差的影响,这一点可能容易被忽视。
总结一点导致主从库出现延迟的原因有可能是:大事务、从库查询压力大、网络本身有延迟。另外一点就是主从时钟的影响。即系统时间受到了影响!
查看的参数:Seconds_Behind_Master
这个参数有两种理解
一种理解是来源于Mysql手册上的描述,大体意思是这个时间是从库SQL线程处理的最近的日志事件的时间戳减去从库IO线程处理的最近一条日志记录的时间戳得到的, 可以简单理解为从库SQL线程与IO线程所处理的最近的日志事件的时间戳差;这个计算方式给人的感觉不是在计算主从延迟,而是在计算从库上两个线程的处理的日志的时差。
另一种理解来源于《High Performace Mysql》上的的描述,大体意思这个参数反映的结果是当前系统时间减去从库IO线程所处理的最近一条日志记录的时间戳;但这个说法有一个明显的不太让人信服的地方,就是如果机器的系统时间相差比较大怎么办? 显然, 如果系统时间相差比较大的话,以这样的方式计算主从延迟毫无意义。
通过查看源码发现这个值应该是这样理解的:
这个值是通过在主库上执行SELECT UNIX_TIMESTAMP()来取得主库的系统时间, 然后去减从库的当前系统时间。
原来系统时间差还真的对主从同步延迟参数Seconds_Behind_Master有影响。
那我就有一个疑问了。如果保证我的主从库的系统时间一致的话是不是就说我们主从复制延迟不存在呢?
那这种大事务、查询、那就不会影响到它了吗?
困惑。。。。
来源:http://blog.chinaunix.net/u2/84280/showart_2320627.html
总结一点导致主从库出现延迟的原因有可能是:大事务、从库查询压力大、网络本身有延迟。另外一点就是主从时钟的影响。即系统时间受到了影响!
查看的参数:Seconds_Behind_Master
这个参数有两种理解
一种理解是来源于Mysql手册上的描述,大体意思是这个时间是从库SQL线程处理的最近的日志事件的时间戳减去从库IO线程处理的最近一条日志记录的时间戳得到的, 可以简单理解为从库SQL线程与IO线程所处理的最近的日志事件的时间戳差;这个计算方式给人的感觉不是在计算主从延迟,而是在计算从库上两个线程的处理的日志的时差。
另一种理解来源于《High Performace Mysql》上的的描述,大体意思这个参数反映的结果是当前系统时间减去从库IO线程所处理的最近一条日志记录的时间戳;但这个说法有一个明显的不太让人信服的地方,就是如果机器的系统时间相差比较大怎么办? 显然, 如果系统时间相差比较大的话,以这样的方式计算主从延迟毫无意义。
通过查看源码发现这个值应该是这样理解的:
这个值是通过在主库上执行SELECT UNIX_TIMESTAMP()来取得主库的系统时间, 然后去减从库的当前系统时间。
原来系统时间差还真的对主从同步延迟参数Seconds_Behind_Master有影响。
那我就有一个疑问了。如果保证我的主从库的系统时间一致的话是不是就说我们主从复制延迟不存在呢?
那这种大事务、查询、那就不会影响到它了吗?
困惑。。。。
来源:http://blog.chinaunix.net/u2/84280/showart_2320627.html
ASP代码
'a=15
'b=20
'response.Write(a\b) '0 提取到整数部分
'response.Write(a/b) .75 提取到小数部分
'/浮点除法a/b \整数除法a\b
a=35
b=20
'response.Write(a\b) '1 整数部分
response.Write(a/b) '1.75 带小数
PHP代码
$a=15;
$b=20;
echo floor($a/$b); //0
echo $a/$b; //0.75
$a=35;
$b=20;
echo floor($a/$b); //1
echo $a/$b; //1.75
实现的功能一样的
来源:http://blog.chinaunix.net/u2/84280/showart_2357507.html
'a=15
'b=20
'response.Write(a\b) '0 提取到整数部分
'response.Write(a/b) .75 提取到小数部分
'/浮点除法a/b \整数除法a\b
a=35
b=20
'response.Write(a\b) '1 整数部分
response.Write(a/b) '1.75 带小数
PHP代码
$a=15;
$b=20;
echo floor($a/$b); //0
echo $a/$b; //0.75
$a=35;
$b=20;
echo floor($a/$b); //1
echo $a/$b; //1.75
实现的功能一样的
来源:http://blog.chinaunix.net/u2/84280/showart_2357507.html
http://blog.sina.com.cn/s/blog_48c95a1901018nq1.html
libssh2:(configure: error: The required libssh2 library was not found. You can obtain that package from http://sourceforge.net/projects/libssh2/,可通过yum install libssh2-devel.x86_64 解决,不用下源码包)
https://www.libssh2.org/download/
ssh2:
http://pecl.php.net/package/ssh2
读取公钥的脚本:
摘自:http://www.4wei.cn/archives/1002295
php中的ssh2模块学习
阅读全文
libssh2:(configure: error: The required libssh2 library was not found. You can obtain that package from http://sourceforge.net/projects/libssh2/,可通过yum install libssh2-devel.x86_64 解决,不用下源码包)
https://www.libssh2.org/download/
ssh2:
http://pecl.php.net/package/ssh2
读取公钥的脚本:
摘自:http://www.4wei.cn/archives/1002295
php中的ssh2模块学习
阅读全文
问题:北京东单-东邪 15:14:04
问一个问题
中间我让运维给几十个服务器的cron,加了新的cron,他们是咋批量加的啊(我自己加的话,的手动一个一个服)
【点击】Chris 15:18:21
有个工具是在一台服务器上执行命令,其他服务器都跟着执行
方案:
1.有批量运行的工具如上面:有个工具是在一台服务器上执行命令,其他服务器都跟着执行
2.有一个zoomkeeper来实现多个服务器同步执行。(集群)
这儿主要讲:
puppet运维自动化之cron管理:
http://www.w3ccollege.org/puppet/operation-and-maintenance-automation-puppet-resources-management-cron-instance.html
阅读全文
问一个问题
中间我让运维给几十个服务器的cron,加了新的cron,他们是咋批量加的啊(我自己加的话,的手动一个一个服)
【点击】Chris 15:18:21
有个工具是在一台服务器上执行命令,其他服务器都跟着执行
方案:
1.有批量运行的工具如上面:有个工具是在一台服务器上执行命令,其他服务器都跟着执行
2.有一个zoomkeeper来实现多个服务器同步执行。(集群)
这儿主要讲:
puppet运维自动化之cron管理:
http://www.w3ccollege.org/puppet/operation-and-maintenance-automation-puppet-resources-management-cron-instance.html
阅读全文
参见手册 date()与strtotime()
date("Y-m-d H:i:s")
CURRENT_TIMES*****P() or NOW()
DATE_FORMAT(date,format)
now() curtime() datetime()
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2010-11-29 11:14:55 |
+---------------------+
1 row in set (0.00 sec)
mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 11:14:31 |
+-----------+
1 row in set (0.00 sec)
实例
下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
结果类似:
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635
题目内容:
1、MySQL取得当前时间的函数是?,格式化日期的函数是
2、写出 SQL语句的格式 : 插入 ,更新 ,删除
表名User
Name Tel Content Date
张三 13333663366 大专毕业 2006-10-11
张三 13612312331 本科毕业 2006-10-15
张四 021-55665566 中专毕业 2006-10-15
(a) 有一新记录(小王 13254748547 高中毕业 2007-05-06)请用SQL语句新增至表中
(b) 请用sql语句把张三的时间更新成为当前系统时间
(c) 请写出删除名为张四的全部记录
3、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别
4、MySQL自增类型(通常为表ID字段)必需将其设为(?)字段
5、以下请用PHPMYADMIN完成
(一)创建新闻发布系统,表名为message有如下字段
id 文章id
title 文章标题
content 文章内容
category_id 文章分类id
hits 点击量
(二)同样上述新闻发布系统:表comment记录用户回复内容,字段如下
comment_id 回复id
id 文章id,关联message表中的id
comment_content 回复内容
现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面
文章id 文章标题 点击量 回复数量
用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0
(三)上述内容管理系统,表category保存分类信息,字段如下
category_id int(4) not null auto_increment;
categroy_name varchar(40) not null;
用户输入文章时,通过选择下拉菜单选定文章分类
写出如何实现这个下拉菜单
date("Y-m-d H:i:s")
CURRENT_TIMES*****P() or NOW()
DATE_FORMAT(date,format)
now() curtime() datetime()
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2010-11-29 11:14:55 |
+---------------------+
1 row in set (0.00 sec)
mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 11:14:31 |
+-----------+
1 row in set (0.00 sec)
实例
下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
结果类似:
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635
题目内容:
1、MySQL取得当前时间的函数是?,格式化日期的函数是
2、写出 SQL语句的格式 : 插入 ,更新 ,删除
表名User
Name Tel Content Date
张三 13333663366 大专毕业 2006-10-11
张三 13612312331 本科毕业 2006-10-15
张四 021-55665566 中专毕业 2006-10-15
(a) 有一新记录(小王 13254748547 高中毕业 2007-05-06)请用SQL语句新增至表中
(b) 请用sql语句把张三的时间更新成为当前系统时间
(c) 请写出删除名为张四的全部记录
3、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别
4、MySQL自增类型(通常为表ID字段)必需将其设为(?)字段
5、以下请用PHPMYADMIN完成
(一)创建新闻发布系统,表名为message有如下字段
id 文章id
title 文章标题
content 文章内容
category_id 文章分类id
hits 点击量
(二)同样上述新闻发布系统:表comment记录用户回复内容,字段如下
comment_id 回复id
id 文章id,关联message表中的id
comment_content 回复内容
现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面
文章id 文章标题 点击量 回复数量
用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0
(三)上述内容管理系统,表category保存分类信息,字段如下
category_id int(4) not null auto_increment;
categroy_name varchar(40) not null;
用户输入文章时,通过选择下拉菜单选定文章分类
写出如何实现这个下拉菜单
经过两个月的时间,简单做(ZTD)系列终于完结。希望这一套系统确实使你有所帮助。简单做(ZTD)系列主要介绍了时间管理的十个好习惯的培养,在这篇文章中,将对每个习惯做一个简介,具体的请参考全文。
阅读全文
阅读全文
很多人问我上海收入多少才过的可以?
阅读全文
阅读全文
要限制 網站/網頁/檔案 下載速度, Apache 有提供 bw 的模組, 可以設定最大下載速度.
阅读全文
阅读全文
首先安装完php后最好保留当时安装的文件,比如我的路径/export1/soft
cd php-5.1.6/ext/soap
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config –enable-soap
make
make install
编译后的soap.so文件保存在了/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922目录下
修改php.ini文件
手工修改:查找/usr/local/webserver/php/etc/php.ini中的extension_dir = “./”
修改为extension_dir = “/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20050922/”
并在此行后增加如下,然后保存:
extension = “soap.so”
重新启动apache,ok 我们就已经能看到扩展的soap模块了。
如果还要扩展别的模块可以一次类推,这里还有点要说明,如果做了zend,php.ini文件是在/usr/local/php/etc下的,但是我们这边重新编译后,它回放到/usr/local/php/lib下。所以这里要注意一下。
来源:http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2010/1014/6598.html
cd php-5.1.6/ext/soap
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config –enable-soap
make
make install
编译后的soap.so文件保存在了/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922目录下
修改php.ini文件
手工修改:查找/usr/local/webserver/php/etc/php.ini中的extension_dir = “./”
修改为extension_dir = “/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20050922/”
并在此行后增加如下,然后保存:
extension = “soap.so”
重新启动apache,ok 我们就已经能看到扩展的soap模块了。
如果还要扩展别的模块可以一次类推,这里还有点要说明,如果做了zend,php.ini文件是在/usr/local/php/etc下的,但是我们这边重新编译后,它回放到/usr/local/php/lib下。所以这里要注意一下。
来源:http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2010/1014/6598.html
快毕业了,老师站在讲台上:“探讨三个问题。”
1、“世界上第一高峰是哪座山?”大家哄堂大笑:“珠穆朗玛峰!”老师追问:“第二高峰呢?”同学们面面相觑,无人应声。老师在黑板上写:“屈居第二与默默无闻毫无区别。 ”
2、“有人要烧壶开水,等生好火发现柴不够,他该怎么办?”有的说赶快去找,有的说去借、去买。老师说:“为什么不把壶里的水倒掉一些?”大家一听,表示佩服。
3、“古代有一人,想学立身的本领。经过反复比较,决心去学屠龙之技。他拜名师,日夜苦练,终有所成。他会怎么样呢?“同学们兴致勃勃,说他能成为英雄、明星,受世人崇拜。老师摇头:“这个人一定会潦倒一生,因为世上根本就没有龙。”
#这节课,这个老师要学生明白“如何做人、做事、做学问”:做人要力求出色,勇争第一,这样别人才能发现你、记住你;做事要敢于创新,方法灵活,千万不可墨守成规;做学问要学以致用,要懂得将知识转化为效益,闭门造车没有路。
来源:http://www.imdouz.com/post/94/
1、“世界上第一高峰是哪座山?”大家哄堂大笑:“珠穆朗玛峰!”老师追问:“第二高峰呢?”同学们面面相觑,无人应声。老师在黑板上写:“屈居第二与默默无闻毫无区别。 ”
2、“有人要烧壶开水,等生好火发现柴不够,他该怎么办?”有的说赶快去找,有的说去借、去买。老师说:“为什么不把壶里的水倒掉一些?”大家一听,表示佩服。
3、“古代有一人,想学立身的本领。经过反复比较,决心去学屠龙之技。他拜名师,日夜苦练,终有所成。他会怎么样呢?“同学们兴致勃勃,说他能成为英雄、明星,受世人崇拜。老师摇头:“这个人一定会潦倒一生,因为世上根本就没有龙。”
#这节课,这个老师要学生明白“如何做人、做事、做学问”:做人要力求出色,勇争第一,这样别人才能发现你、记住你;做事要敢于创新,方法灵活,千万不可墨守成规;做学问要学以致用,要懂得将知识转化为效益,闭门造车没有路。
来源:http://www.imdouz.com/post/94/
自1999年起我就开始发掘一些科技公司,并帮助它们运营。我最近的一个公司是 fabulis.com 。下面是从干这行中得到的57条经验。我可以列出更多,但恐怕会令你厌烦。 阅读全文
Banshee 是一个 PHP 开发 Web 网站的框架,主要特点是安全和易用,使用 MVC 模式,使用 XSLT 的模板,支持 MySQL 数据库。
该版本升级了 CKEditor 到3.4.1 版本,使用 SlimStat 来替换 Google Analytics,同时还包含一些bug的修复。
下载 地址 http://www.banshee-php.org/download
Tokyo Cabinet的tcutil.c提供了一套不错的C语言Utility API函数库,可以作为标准C函数库的一个增强。其中的一部分函数增加了申请内存失败、非数值等异常处理,例如tcmalloc()、tccalloc()、tcatoi(),另一部分提供了增强字符串处理、内存池、正则、文件操作、编码转换、压缩、Array List、Hash Map等。
上午和《独孤九剑》游戏的程序经理开会,约定了我们开发的KE游戏运营平台及中间件,与独孤九剑服务器端进程,进行各种功能交互的详细通信协议。C开发的中间件daemon,采用HTTPS/SSL REST协议与Nginx+PHP游戏运营平台通信,采用TCP二进制协议、信号与游戏进程通信。
昨晚,移动硬盘连接电脑的USB线突然被碰掉,再插入,提示移动硬盘的分区未格式化,上面的重要数据差点丢失,还好用CHKDSK /F修复了。得定时做个备份了,是再买块硬盘,还是用云存储?如果能找到一款能够便捷地进行本地加密后再上传,下载后再解密的软件,保护数据隐私,云存储或许也是个不错的选择。
上午和《独孤九剑》游戏的程序经理开会,约定了我们开发的KE游戏运营平台及中间件,与独孤九剑服务器端进程,进行各种功能交互的详细通信协议。C开发的中间件daemon,采用HTTPS/SSL REST协议与Nginx+PHP游戏运营平台通信,采用TCP二进制协议、信号与游戏进程通信。
昨晚,移动硬盘连接电脑的USB线突然被碰掉,再插入,提示移动硬盘的分区未格式化,上面的重要数据差点丢失,还好用CHKDSK /F修复了。得定时做个备份了,是再买块硬盘,还是用云存储?如果能找到一款能够便捷地进行本地加密后再上传,下载后再解密的软件,保护数据隐私,云存储或许也是个不错的选择。
3月28日,戴志康释出了传说以久的内部代号为UltraX的体验版。大概是希望借用discuz已有的巨大号召力,UltraX在发布之前还是改成了discuz!X。阅读全文