正在加载......
类别:[随便说说]  时间: 2007-12-29 19:11:14; 浏览: 50644; 评论: 0  
Tags : 生命 珍惜

    2007年12月23日,公司一位女同事因患胃癌医治无效而与世长辞,英年30岁。公司由CEO和副总裁带头捐款以慰问家属。

    2007年12月29日,在喜悦村看见奶瓶发帖,为其同学而默哀。

    IT行业很累的,尤其互联网方向的。而且对这种事亡羊补牢的事也不到位。比如事后捐款,那事前去哪了?小恩小惠并不能左右人心,跟何况很多地方还没有小恩小惠。

    现实是如此的残酷,我们更多的是以自我安慰的激昂心态努力做好现在的事情,为了明天而奋斗!

    新年来了,祝大家新年快乐!身体健康!

    另:刚得到消息baidu CFO 王湛生在休假时因意外去世,默哀!尽管不是我很担心的健康问题。

也许您对下面的文章感兴趣:
类别:[MySQL学习]  时间: 2007-12-26 19:28:40; 浏览: 52701; 评论: 1  
Tags : mysql

    昨天在处理mysql数据的时候提示:Got error 127 from table handler。症状为:取出前面的数据没问题,但是在遇到一条游问题的数据时显示“Got error 127 from table handler”。

   上网查询资料如下:

以下是引用片段:
1:Got error 127 from table handler
2:MySQL : GOT error 127 from table handler
3:表被破坏
4:手册对repair table的说明
5:手册对check table的说明

    比较有参考价值的回复如下:

以下是引用片段:
1 E_ERROR fatal run-time errors  
2 E_WARNING run-time warnings (non fatal errors)  
4 E_PARSE compile-time parse errors  
8 E_NOTICE  run-time notices (less serious than warnings)   
16 E_CORE_ERROR fatal errors that occur during PHP's initial startup PHP 4 only
32 E_CORE_WARNING warnings (non fatal errors) that occur during PHP's initial startup  PHP 4 only
64 E_COMPILE_ERROR fatal compile-time errors PHP 4 only

error 127就是同时存在2,4,8,16,32,64的错误
主要的是16和64,原因分析:可能是你装php的时候有问题,建议重装

    看得资料一般是说使用“REPAIR TABLE `tablename`”去修复表,看了手册的说明后操作如下:

以下是代码片段:
mysql> check table mytable;
+-------------------+-------+----------+----------------------------------------------------+
| Table             | Op    | Msg_type | Msg_text                                           |
+-------------------+-------+----------+----------------------------------------------------+
| mydb.mytable | check | error    | got error: 5 when reading datafile at record: 1291 |
| mydb.mytable | check | error    | Corrupt                                            |
+-------------------+-------+----------+----------------------------------------------------+
2 rows in set (3.09 sec)

    check的结果与测试得到的差错点一致,为第1291条数据开始便有问题了!然而在这个时候尝试取出数据时失败了:

以下是代码片段:
mysql> select * from `mytable` limit 1291, 1;
ERROR 1016: Can't open file: 'mytable.MYD'. (errno: 145)

    真是无语啊........骑虎难下,继续操作,希望还有救:

以下是代码片段:
mysql> repair table mytable;
+-------------------+--------+----------+----------------------------------------+
| Table             | Op     | Msg_type | Msg_text                               |
+-------------------+--------+----------+----------------------------------------+
| mydb.mytable | repair | warning  | Number of rows changed from 30030 to 0 |
| mydb.mytable | repair | status   | OK                                     |
+-------------------+--------+----------+----------------------------------------+
2 rows in set (3.10 sec)

    疯了!30030条数据全没了!幸好还有备用的数据库,把数据文件和索引文件直接copy了过来,修改文件的权限后,数据能正常取出了。

    为什么会这样呢?原因不详,只能吸取教训:
    1:修复表时最好先锁定表。
    2:最好是在把mysql shut down后再修复表。

    谁能告诉我这是怎么回事?非常感谢!

也许您对下面的文章感兴趣:
类别:[Linux/Unix]  时间: 2007-12-21 19:31:50; 浏览: 93829; 评论: 1  

    前端时间玩了一下memcached,由于工作关系得过一段时间在玩它。哎,工作就是这样,老变!

    libeven

    memcached的使用需要libeven的支持,我们得先装上libeven。
    官方网站:http://www.monkey.org/~provos/libevent/
    下载地址:http://www.monkey.org/~provos/libevent-1.4.0-beta.tar.gz
    libevent安装方式比较简单:

以下是代码片段:
./configure && make
make install
    这样就好

    检查如下:

以下是引用片段:
[root@localhost memcached-1.2.2]# ls -l /usr/local/lib/ | grep even
lrwxrwxrwx   1 root root      21 Nov 26 11:32 libevent-1.4.so.2 -> libevent-1.4.so.2.0.0
-rwxr-xr-x   1 root root  267334 Nov 26 11:32 libevent-1.4.so.2.0.0
-rw-r--r--   1 root root  351694 Nov 26 11:32 libevent.a
lrwxrwxrwx   1 root root      26 Nov 26 11:32 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.0.0
-rwxr-xr-x   1 root root  101485 Nov 26 11:32 libevent_core-1.4.so.2.0.0
-rw-r--r--   1 root root  139080 Nov 26 11:32 libevent_core.a
-rwxr-xr-x   1 root root     866 Nov 26 11:32 libevent_core.la
lrwxrwxrwx   1 root root      26 Nov 26 11:32 libevent_core.so -> libevent_core-1.4.so.2.0.0
lrwxrwxrwx   1 root root      27 Nov 26 11:32 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.0.0
-rwxr-xr-x   1 root root  214596 Nov 26 11:32 libevent_extra-1.4.so.2.0.0
-rw-r--r--   1 root root  273270 Nov 26 11:32 libevent_extra.a
-rwxr-xr-x   1 root root     873 Nov 26 11:32 libevent_extra.la
lrwxrwxrwx   1 root root      27 Nov 26 11:32 libevent_extra.so -> libevent_extra-1.4.so.2.0.0
-rwxr-xr-x   1 root root     831 Nov 26 11:32 libevent.la
lrwxrwxrwx   1 root root      21 Nov 26 11:32 libevent.so -> libevent-1.4.so.2.0.0

    看见有很多libevent,就可以放心了。

    memcached

    官方网站:http://www.danga.com/memcached/download.bml
    下载地址:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz

    memcached安装需要些参数:

以下是代码片段:
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local
make
make install

   我们来运行看看:
   运行:

以下是代码片段:
/usr/local/memcached/bin/memcached -d -m 10 -p 11211 -u root

    结果:
以下是引用片段:
[root@localhost memcached-1.2.2]# /usr/local/memcached/bin/memcached -d -m 10 -p 11211 -u root
/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

    查找原因,解决方案如下:

以下是代码片段:
LD_DEBUG=libs /usr/local/memcached/bin/memcached -v

    有如下显示:

以下是引用片段:
[root@localhost memcached-1.2.2]# LD_DEBUG=libs /usr/local/memcached/bin/memcached -v
     18999:     find library=libevent-1.4.so.2 [0]; searching
     18999:      search cache=/etc/ld.so.cache
     18999:      search path=/lib/tls/i686/sse2:/lib/tls/i686:/lib/tls/sse2:/lib/tls:/lib/i686/sse2:/lib/i686:/lib/sse2:/lib:/usr/lib/tls/i686/sse2:/usr/lib/tls/i686:/usr/lib/tls/sse2:/usr/lib/tls:/usr/lib/i686/sse2:/usr/lib/i686:/usr/lib/sse2:/usr/lib          (system search path)
     18999:       trying file=/lib/tls/i686/sse2/libevent-1.4.so.2
     18999:       trying file=/lib/tls/i686/libevent-1.4.so.2
     18999:       trying file=/lib/tls/sse2/libevent-1.4.so.2
     18999:       trying file=/lib/tls/libevent-1.4.so.2
     18999:       trying file=/lib/i686/sse2/libevent-1.4.so.2
     18999:       trying file=/lib/i686/libevent-1.4.so.2
     18999:       trying file=/lib/sse2/libevent-1.4.so.2
     18999:       trying file=/lib/libevent-1.4.so.2
     18999:       trying file=/usr/lib/tls/i686/sse2/libevent-1.4.so.2
     18999:       trying file=/usr/lib/tls/i686/libevent-1.4.so.2
     18999:       trying file=/usr/lib/tls/sse2/libevent-1.4.so.2
     18999:       trying file=/usr/lib/tls/libevent-1.4.so.2
     18999:       trying file=/usr/lib/i686/sse2/libevent-1.4.so.2
     18999:       trying file=/usr/lib/i686/libevent-1.4.so.2
     18999:       trying file=/usr/lib/sse2/libevent-1.4.so.2
     18999:       trying file=/usr/lib/libevent-1.4.so.2
     18999:
/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

    主要是看最后一行提示的错误,那么我们:

以下是代码片段:
ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2

    OK!再次运行:

以下是代码片段:
/usr/local/memcached/bin/memcached -d -m 10 -p 11211 -u root
    成功!

    貌似用“ldconfig”也可以解决这个问题

     libmemcache   

    libmemcache是memcached C的客户端之一。我准备使用这个玩意。
    官网:http://people.freebsd.org/~seanc/libmemcache/
    下载:http://people.freebsd.org/~seanc/libmemcache/libmemcache-1.4.0.rc2.tar.bz2
    编译:

以下是代码片段:
./configure
make
make install

     写一个有libmemcache函数的程序
     然后    

以下是代码片段:
gcc a.c -o a.cgi -L/usr/local/include -lmemcache


    运行

以下是代码片段:
./a.cgi

    提示类似上面的“error while loading shared libraries”的错误,查了一下可用"ldconfig"解决这个问题,那上面的可否用这个命令解决呢?

    上面的gcc编译的时候,带有参数“-lmemcache”。
    -l参数后面跟的库名有规则的,库的命名方式有libxxxx.so或libxxxx.a,编译时要用-lxxxx就可以了。
    而“-l”的意思就是代表是个“lib”了。

    所以在你自己编写动态库或者静态库时,命名还是得按照 libxxxx.so的形式来。

    不得不认为libmemcache有点糟糕,编译它自带的一个程序编译竟然有问题,很无语!

以下是引用片段:
[root@login benchmark]# gcc benchmark.c -L/usr/local/include -lmemcache
benchmark.c: In function `main':
benchmark.c:100: warning: passing arg 2 of `mc_set' discards qualifiers from pointer target type
benchmark.c:108: warning: passing arg 2 of `mc_set' discards qualifiers from pointer target type
benchmark.c:121: warning: passing arg 2 of `mc_req_add' discards qualifiers from pointer target type
benchmark.c:145: warning: passing arg 2 of `mc_delete' discards qualifiers from pointer target type
benchmark.c:153: warning: passing arg 2 of `mc_add' discards qualifiers from pointer target type
benchmark.c:167: warning: passing arg 2 of `mc_delete' discards qualifiers from pointer target type

    解决方法:

    找到passing arg 2这个参数的定义:

以下是引用片段:
const char *key;

    把const去了:
以下是引用片段:
char *key;

    这样就好了!

    然后:

以下是代码片段:
[root@login memcache-test]# ./a.out

    执行时可能报以下的错误:

以下是引用片段:
./a.out: error while loading shared libraries: libmemcache.so.0: cannot open shared object file: No such file or directory

    解决方法:

    执行ldconfig命令即可!


    附:

    http://kapoc.blogdriver.com/kapoc/1200549.html
    ldconfig命令 - - 动态链接库管理命令

    为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig.此执行程序存放在/sbin目录下.

    ldconfig命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.

    ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令.

也许您对下面的文章感兴趣:
  1. [2008-04-15 18:18:19] [翻译]What is Linux? -- 什么是Linux
  2. [2008-04-03 15:35:46] [翻译]What is Linux? -- Linux从这里开始
  3. [2008-03-29 22:56:08] uniq和sort对汉字的识别差异
  4. [2008-01-24 18:53:26] eAccelerator 0.9.5.2 安装
  5. [2008-01-23 10:35:20] cut命令学习
  6. [2008-01-16 15:31:20] linux和freebsd下的路由操作的区别
  7. [2008-01-15 18:49:54] 修改符号链接的属主的方法
  8. [2007-12-04 17:58:27] memcached英文文档学习
  9. [2007-12-05 19:57:35] cgi的写法
  10. [2007-11-06 11:02:43] PHP加速器eAccelerator文档翻译
  11. [2008-07-09 13:21:34] crontab命令的使用介绍及我的体会
  12. [2008-08-06 23:22:38] 让你的vim显示颜色
  13. [2008-11-28 22:30:26] SYN Flood攻击、SYN Cookie防御和Linux/FreeBSD的内核参数修改
  14. [2009-02-16 19:40:04] Linux进程的层次关系
  15. [2007-12-04 17:58:27] memcached英文文档学习
  16. [2009-02-12 22:44:51] 查看、分析memcached使用状态
  17. [2008-01-24 18:53:26] eAccelerator 0.9.5.2 安装
类别:[随便说说]  时间: 2007-12-20 12:22:58; 浏览: 32522; 评论: 0  
类别:[随便说说]  时间: 2007-12-19 19:30:51; 浏览: 22568; 评论: 0  
类别:[C/C++学习]  时间: 2007-12-05 19:57:35; 浏览: 59277; 评论: 2  
Tags : C C++ Linux
类别:[C/C++学习]  时间: 2007-12-04 17:58:27; 浏览: 64713; 评论: 1  
类别:[PHP心得]  时间: 2007-11-06 11:02:43; 浏览: 58113; 评论: 1  
类别:[C/C++学习]  时间: 2007-10-31 19:18:56; 浏览: 36173; 评论: 0  
类别:[随便说说]  时间: 2007-10-30 19:25:09; 浏览: 19053; 评论: 1  
[197][10/20][|<][6][7][8][9][10][11][12][13][14][15][>|] | 回页首
© 2004 - 2018 芽雨快跑 - 本页面所有内容,未经芽雨许可,欢迎转载,请注明出处

京ICP备09017802号