对MySQL 5.1.X使用请慎重

 作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究。
 
      近段一直在一个项目中恶战,所以对于Blog更新慢了一点。该项目中使用了MySQL 5.1.X,使用这个版本是在我加入这个项目前就决定的。该项目基本上可以达到每秒3W的QPS(大多是基于主建的等于逻辑读写)记录都是比较长的。
近段遇到一些问题列举:
  使用MySQL-5.1.31 进行数据迁移,从SQL SERVER到MySQL迁移,共享表空间,每表一个线程,一次从SQL SERVER读取20条记录写入MySQL,迁移完毕后一个大表巨然是只能读不能写了
关闭连接池程序,保持只有一个连接进入MySQL但对那个大表也无法进行update操作,可以进行insert操作。该表有差不多2亿的数据,当时那个无语真的没法说。最终解决方法,把该表
dump了出来,又导回去可以更新。
  最新的业务上线后开着swap,没过几天就出现swap占用明显,DB反应慢的不能忍受。最终解决方法:禁用了swap分区。
  因为truncate table不能被复制及一系列问题,最终升级到mysql-5.1.31sp1(无语一个垃圾升级版本),我的意思当时升级到MySQL-5.1.37。这样就引出了另一外问题:Sort aborted,
内存溢出。以至于出现了几次严重的内存使用完毕后MySQLD被KILL掉,MySQLD进程重启,数据文件恢复造成Down机时间过长。巨汗的一次。
  痛中思痛,最终把MySQL-5.1.41,现在看来内存正常了。使用中出现了一个更可怕的问题,对一个dump出来后,导入时对该表show create table不显示结果,按ctrl+c,MySQLD就Crash,巨汗。
  万恶的MySQL-5.1.X,准备升级到MySQL-5.1.x的同学,还是我多思考一下吧。

One Comment