02

磁盘空间不足的临时解决方案

一、通过软连接的方式迁移部分表空间到其他硬盘 优点:对数据没有任何影响,反而可以适当增加IO能力,使用多个磁盘的IOPS 缺点:需要停机 处理步骤: 1、关掉mysql实例 2、cp big.ibd /new/big.ibd 3、rename big.ibd big.ibd.remove 4、ln -s big.ibd /new/big.ibd 5、chow -R mysql:mysql /new/big.ibd 6、启动数据库,检查是否异常 7、删掉 remove的文件. 。。。。

继续阅读全文

02

Discuz!热帖翻页优化

Discuz!作为首屈一指的社区系统,为广大站长提供了一站式网站解决方案,而且是开源的(虽然部分代码是加密的),它为这个垂直领域的行业发展作出了巨大贡献。尽管如此,discuz!系统源码中,还是或多或少有些坑。其中最著名的就是默认采用MyISAM引擎,以及基于MyISAM引擎的抢楼功能,session表采用memory引擎等,可以参考后面几篇历史文章。本次我们要说说discuz!在应对热们帖子翻页逻辑功能中的另一个问题。

继续阅读全文

01

记一次Auto Increment故障

实际上本次故障的素材来自于朋友的朋友,虽然我并不是故障的亲身经历者,但即便只是作为旁观者,依然感觉有所收获,于是乎记录下来以馈读者。
故障的来龙去脉大致是这样的:在一个月黑风高的晚上,苦逼的程序员被一阵急促的报警短信声惊醒,原来是数据库的某个表出问题了,虽然查询操作都正常,但创建操作却都失败了,经过调试,发现原因是表被插入了一行问题数据,其自增字段的值被显式的设置为整型的最大值,导致后续缺省插入的数据不能获取到一个合法的主键值。

继续阅读全文