MYSQL表出错。一般在phpmyadmin里,repair一下就可以了。但修复失效的时候,就要另想其他的办法了。
对于MyISAM格式的表来说,有一个很好的修复工具 – myisamchk。 继续阅读MYSQL数据库出错,REPAIR TABLE无效后的解决办法
分类: 网事-网摘
PHP: serialize和unserialize
serialize()和unserialize()在php手册上的解释是:
serialize — Generates a storable representation of a value
serialize — 产生一个可存储的值的表示
unserialize — Creates a PHP value from a stored representation
unserialize — 从已存储的表示中创建 PHP 的值
serialize
(PHP 3>= 3.0.5, PHP 4 )
serialize — 产生一个可存储的值的表示
描述string serialize ( mixed value)
serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。
这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。
想要将已序列化的字符串变回 PHP 的值,可使用 unserialize()。
serialize() 可处理除了 resource 之外的任何类型。
甚至可以 serialize() 那些包含了指向其自身引用的数组。
你正 serialize() 的数组/对象中的引用也将被存储。
当序列化对象时,PHP 将试图在序列动作之前调用该对象的成员函数 __sleep()。这样就允许对象在被序列化之前做任何清除操作。类似的,当使用 unserialize() 恢复对象时, 将调用 __wakeup() 成员函数。
注: 在 PHP 3 中,对象属性将被序列化,但是方法则会丢失。PHP 4 打破了此限制,可以同时存储属性和方法。请参见类与对象中的序列化对象部分获取更多信息。
上例子
$array = array();
$array[”key”] = “key”;
$array[”value”]=”value”;
echo serialize($array);
结果:a:2:{s:3:”key”;s:3:”key”;s:5:”value”;s:5:”value”;}
serialize — 产生一个可存储的值的表示 继续阅读PHP: serialize和unserialize
mysql手动复制数据库技巧
一步完成mysql数据库复制。
mysqldump esojourn --opt -u root -p | mysql esojourn -h 192.168.0.2 -u root -p
我下面对这个命令的几个部分说明一下。mysqldump wap –opt,是把名为wap的这个数据库导出到标准输出。并且使用–opt选项。 –opt 等效于–add-drop-table, –add-locks, –create-options, –quick, –extended-insert, –lock-tables, –set-charset, 和–disable-keys。这在完全导出然后完全导入数据的时候,非常有用。
小心前后别弄反。要不就悲剧大了。
Windows下读取Linux分区
不说过程,直接说结论吧。用ext2fsd兼容性很好。http://www.ext2fsd.com/
其他很多工具都没能找到RAID卡带起来的硬盘。感觉ext2fsd用了更底层的办法,直接找到RAID驱动,找到了linux分区。重启后就挂接到windows自己的资源管理器里了。很不错。
下载:http://sourceforge.net/projects/ext2fsd/files/
在Chrome里,设置默认Google加密搜索
首先点击chrome浏览器中右上角的扳手(我喜欢称之为“工具”菜单)
然后点击选项,在“默认搜索引擎”中点击“管理”按钮,在这里添加一个搜索引擎。
名字随便写。比如“Google HTTPS”,
网址填: https://www.google.com/search?hl=zh-CN&q=%s
fail2ban阻止vsftpd暴力攻击失败的对策
Fail2ban is failing to ban VSFTPD bruteforce:
In my case with VSFTPD, with unresolvable DNS names from /var/log/secure:
Scenario: VSFTP configuration is set for PAM authentication, using xferlog in standard format. Fail2ban for vsftpd is watching /var/log/secure
Problem: PAM sends failed login information to /var/log/secure, but the remote server’s IP address has been replaced by a DNS name. Resulting DNS name does not resolve or does not resolve correctly, thus fail2ban is unable to ban the IP address.
Fix: Configure VSFTP for “dual_log_enable=YES”, and have fail2ban watch /var/log/vsftpd.log instead. This log file shows the incoming ip address instead of the DNS name.
[ update: you also need to adde’use_localtime=YES’ to config file of VSFTPD. otherwise, above trick not working. it took me hours to solve the problem. :(]