坚信科学,分享技术

Tag Archives: 备忘

一条SQL引发的对order by的思考

==========尽职的安静的分隔线=========== 在实际工作中遇到下面一个问题: 有一个表,存有2000万数据。 主键为ID bigint(20) NOT NULL auto_increment 另有一字段time timestamp NOT NULL default CURRENT_TIMESTAMP 故事从这两个字段说起: sql1需要从这个表中检索出来时间为2010-05-26 11:55:00之前并且id号大于20000的前10条数据 sql2需要从这个表中检索出来时间为2010-05-26 11:55:00之后并且id号大于20000的前10条数据 两条sql写出来大概是这样子的: sql1:select * from table where time 20000 order by id limit 10; sql2:select * from table where time >’2010-05-26 11:55:00′ …

Continue reading

Posted in 架构研究 | Tagged , | 16 Comments

跨系统共享键盘鼠标利器分享:synergy

是这样的张总, ?在家里的电脑上按了CTRL+C,然后在公司的电脑上再按CTRL+V是。。。肯定不行的。即使同一篇文章也不行。不不,多贵的电脑都不行。 –题记 端午归来,特此总结,实现上述难题,靠一利器:synergy 此利器可打通mac\linux\windows任意两者的联系,使两个系统共享鼠标和键盘。下面以ubuntu 10.04与盗版windows XP为例。 首先,在ubuntu下面,建立服务端。 #sudo apt-get install synergy quicksynergy #quicksynergy 启动后如图所示: 只需要填写上下左右中的某一个位置修改成另一台机器的机器名,点击执行,常驻运行即可。 然后,在windows下面,安装客户端。 Synergy 1.3 Client 安装运行后如图: 输入Ubuntu机器的ip地址,点Start即可连上两机。 连上之后,可以撤掉在你办公桌面上的一个键盘,鼠标移动到哪个桌面上,键盘针对哪个系统输入,非常好用,还支持复制粘贴,对上班时候用两台电脑的同学非常适用。

Continue reading

Posted in linux | Tagged , | 3 Comments

ubuntu 10.04 LTS版本下的Empathy MSN群聊显示昵称方法

1.关系普及 Empathy是个托,python-papyon是个python实现的msn库,telepathy-butterfly是个完成msn功能的python客户端。 2.修改办法 sudo vim /usr/share/pyshared/papyon/conversation.py 查找 if message_type == 这个字符串 找到内容为: if message_type == ‘text/plain’: msg = ConversationMessage(unicode(message.body, message_encoding), TextFormat.parse(message_formatting), self.__last_received_msn_objects) try: display_name = message.get_header(‘P4-Context’) 将if判断后try之前中间定义msg这一堆内容修改为如下: try: msg = ConversationMessage(unicode(“["+message.get_header('P4-Context')+"]“+message.body, message_encoding),

Continue reading

Posted in linux | Tagged , | 6 Comments

mysql explain详解

doubanclaimed89ad216b01beaf 题注:感谢suchasplus兄弟在第一时间提示explain拼写错误~~~:) 对于经常使用mysql的兄弟们,对explain一定不会陌生。当你在一条SELECT语句前放上关键词EXPLAIN,MySQL解释它将如何处理SELECT,提供有关表如何联合和以什么次序的信息。 借助于EXPLAIN,你可以知道 1)你什么时候必须为表加入索引以得到一个使用索引找到记录的更快的SELECT。 2)你也能知道优化器是否以一个最佳次序联结表。为了强制优化器对一个SELECT语句使用一个特定联结次序,增加一个STRAIGHT_JOIN子句。 官方的关于explain的文档在http://dev.mysql.com/doc/refman/5.1/en/using-explain.html(英文),本文可作为官方文献的不完整通俗读物。 使用的方法 EXPLAIN tbl_name 或: EXPLAIN [EXTENDED] SELECT select_options 前者可以得出一个表的字段结构等等,后者主要是给出相关的一些索引信息,而今天要讲述的重点是后者。 举例 mysql> explain select * from event; +—-+————-+——-+——+—————+——+———+

Continue reading

Posted in 架构研究 | Tagged , | 3 Comments

jdbc socketRead0 locked 记一个Mysql的不明bug

在开发人人网海量存储系统Nuclear的过程中,使用到mysql引擎,用了spring+dbcp+jdbc,在压力测试的过程中出现了问题。 在追踪java stack的过程中发现如下的问题: java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) – locked <0x00002aaab9b2b0d8> (a com.mysql.jdbc.util.ReadAheadInputStream) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2494) at com.mysql.jdbc.MysqlIO.reuseAndRea

Continue reading

Posted in java | Tagged , , | 7 Comments

linux系统更换sshd的方法手记[from科学院]

朋友的服务器让人给黑了,把sshd都给更换了,拿到root用户名密码直接用curl往外传。绝对是老毛子的手法,非常娴熟,入侵涉及的方案有perl服务、c、shell、curl、php exec等等。 在最简单的分析下,采取更换sshd服务的办法来去除老毛子的垃圾sshd. 第一步、下载、安装 wget -c “ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-5.0p1.tar.gz” tar zxvf openssh-5.0p1.tar.gz cd openssh-5.0p1 请确认Zlib和OpenSSL的版本: openssh-5.0p1要求Zlib的版本在1.2.1.2以上,OpenSSL版本在0.9.6以上.下面是Zlib和 OpenSSL的官方地址: http://www.gzip.org/zlib/ http://www.openssl.org/ 在安装过程中我遇到了zlib的版本过低。从上边的网址去下一个 zlib-1.2.3.tar.gz tar zxvf zlib-1.2.3.tar.gz cd zlib-1.2.3 ./configure make && make install 然后重新进入 openssh-5.0p1: ./configure –sysconfdir=/etc/ssh make 这一步后面很牛B,要去到那个修改过的openssh的目录里 make uninstall (就是要把老毛子的病毒sshd给全部rm掉),然后

Continue reading

Posted in linux | Tagged , | 3 Comments

wordpress nginx php-cgi mysql在128m内存下的vps安装和优化手记[原创]

[ 文章作者:陈臻 本文版本:v1.0 最后修改:2009.8.2 转载请注明原文链接:http://www.54chen.com/688-wordpress-nginx-php-cgi-mysql-memory-in-the-128m-to-install-and-optimize-the-vps-notes/ ] 选取CentOS,因为它是号称最安全及性能都相对较好的Linux系统。系统内存128m,系统用掉30m,有100m左右可用(如图1所示),swap已经有256M,硬盘为5G,除去系统后大约有4G可供捣腾。 图1。   首先,在空白的系统上使用下面的命令,安装gcc等一堆工具和后面php会用到的一些包: yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel …

Continue reading

Posted in 架构研究 | Tagged , , , | 34 Comments

[原创][实测]MySQL时间字段究竟使用INT还是DateTime?

[ 文章作者:陈臻 本文版本:v1.0 最后修改:2009.4.27 转载请注明原文链接:http://www.54chen.com/c/560 ] 环境: Windows XP PHP Version 5.2.9 MySQL Server 5.1 第一步、创建一个表date_test(非定长、int时间) CREATE TABLE `test`.`date_test` ( `id` INT NOT NULL AUTO_INCREMENT , `start_time` INT NOT NULL , `some_content` VARCHAR( 255 ) NOT NULL , PRIMARY KEY …

Continue reading

Posted in linux | Tagged , | 6 Comments

多台slave的mysql replication的配置

 5.1.24版本的配置请看:http://www.masalife.com/archives/173 一、先修改服务器的配置文件        1、Master服务器配置简单,修改my.cnf为:        server-id       = 1 log-bin set-variable=binlog-ignore-db=mysql 2、slave1的配置加入 server-id       = 2 master-host = 172.16.20.135 master-user = rep master-password = cnrep master-port = 3306 log-bin set-variable=replicate-ignore-db=mysql set-variable=replicate-do-db=AliSMS set-variable=replicate-do-db=lcd set-variable=replicate-do-db=loginmanager set-variable=replicate-do-db=samis set-variable=replicate-do-db=sareport set-variable=replicate-do-db=syslog set-variable=replicate-do-db=web_speed log-slave-updates 3、slave2服务器的配置 server-id       = 3 …

Continue reading

Posted in linux | Tagged , | 7 Comments

轻点魔棒,瞬间安装上百台服务器

转自: 知道分子查看完整个人资料  http://hutuworm.blogspot.com   从前,我们一直在做装机民工这份很有前途的职业。自打若干年前 Red Hat 推出了Kickstart,此后我们顿觉身价倍增。不再需要刻了光盘一台一台地安装 Linux,只要搞定PXE、DHCP、TFTP,还有那满屏眼花缭乱不知所云的 Kickstart脚本,我们就可以像哈里波特一样,轻点魔棒,瞬间安装上百台服务器。这一堆花里胡哨的东西可不是一般人都能整明白的,没有大专以上学 历,通不过英语四级,根本别想玩转。总而言之,这是一份多么有前途,多么有技术含量的工作啊。 很不幸,Red Hat 最新发布了网络安装服务器套件Cobbler(补鞋匠),它已将 Linux网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。对于我们这些在装机领域浸淫多年,经验丰富,老骥伏枥,志在 千里的民工兄弟们来说,不啻为一个晴天霹雳(}雷{)。 Cobbler(https://fedorahosted.org/cobbler)声称可以快速建立网络安装环境(rapid setup ofnetwork installation environments),那么到底有多快呢?我在一台装有 Fedora 9的服务器上进行了测试,步骤如下: 1. 安装相关软件:      yum -y install cobbler tftp-server dhcp httpd xinetd     # 注意 /var/www/cobbler 目录必须具有足够容纳 Linux 安装文件的空间(移动,建软链接

Continue reading

Posted in linux | Tagged , | 5 Comments
Page 1 of 41234