08

利用binlog来恢复数据库

开发库和线上表结构有很多不一样,分表个数也不同,我需要重新整理保持开发库和线上一致,之前已经告知开发数据是否允许丢失,开发说数据可以不要了,直接丢掉,等我搞好之后开发告诉我部分数据(ring)是不能删除的,我晕,只好想办法来恢复数据了,没有备份,不过还好有全部的binlog。

继续阅读全文

31

用Mysql来搭建可扩展的SNS网站

近几年web2.0的火爆,带动了Mysql的使用热潮,不管是小企业还是大网站,都有意无意的开始使用Mysql来搭建数据平台。传统网站随着业访问量,数据量的急剧膨胀,集中式的数据库也越来越成为瓶颈,很难做进一步的扩展,做读写分离,而这些都是Mysql的优势所在,容易扩展使Mysql渐渐成为了企业新的选择。

继续阅读全文

30

DBA未来的发展方向

我把DBA分为三类:第一类:顾问型,他们属于DBA中的高端人才,经验丰富,技术全面,提供专业的数据库咨询服务或培训,擅长用偏门的技术解决问题。第二类:技术支持型,他们属于各集成商或者专业的数据库维护公司,最擅长搭建各种环境,从主机,存储到OS和数据库都很熟悉,经常troubleshooting各种数据库问题。第三类:运维型,他们维护自己公司的数据库系统,稳定是对他们的唯一要求,他们经常要和集成商或者应用开发人员打交道。这三类DBA中都有牛人,而且很多DBA并不局限于其中的一类,他们既是运维DBA,也提供数据库咨询或培训服务。

继续阅读全文

30

MySQL 5.1 中 Innodb 的事务完整性Bug

今天和 51.com 的 MySQL DBA 景春同学一起遇到了个 MySQL 非常扯淡的Bug:在 5.1 版本中,Innodb 存储引擎如果使用autocommit=0的情况下,单条SQL在执行过程中如果异常中断的话,事务完整性可能无法保证,不论是STATEMENT还是MIXED的binlog_format,都存在相同的问题,可以重现,屡试不爽。

继续阅读全文

09

规避MySQL中DDL的堵塞 — 解读FriendFeed对MySQL的使用

DDL指的是CREATE,DROP,ALTER之类的操作。当在MySQL中使用它们时,比如说添加一个索引,一个字段,此时MySQL会锁住表,如果数据量很大的话,这个锁表的时间可能会持续很久,在此期间,任何其它的写操作都不能执行。这无疑是个让人恼火的问题。

继续阅读全文

09

批量转换MYSQL表的存储引擎

从MySQL 5.x起,MySQL已经自带一个PERL工具。此工具可以批量转换MYSQL的表的引擎,这个工具对于批量转换表的朋友就比较好用啦,工具为mysql_convert_table_format,如果是RPM安装一般在/usr/bin 或者/usr/sbin下。源码安装的朋友可能就在你自己定义的目录—basedir/bin下。我的为/usr/local/mysql/bin,其实mysql_convert_table_format的帮助文件已经非常详细啦!方便自己,也给象我一样比较懒的人啰,就当把帮助文档翻译一下啰,本人英文水平还处在小学水平,欢迎拍砖

继续阅读全文

09

丢失了文件localhost.localdomain.pid和mysql.sock怎么办?

1.localhost.localdomain.pid 保存的是MySQL所启动的后台服务进程的PID值,如果这个文件丢了,可以创建一些,然后把一个数字放入其中。

2./tmp/mysql.sock 文件的作用是 MySQL通过这个unix socket 文件来与本地的客户端进行通信的。如果此文件丢了,可以通过重新启动服务器来重新创建它。

继续阅读全文