七 18 探索MYSQL源代码-客户端连接过程和用户认证体系 发布时间:2011 年 7 月 18 日 发布者: OurMySQL 本文从源代码角度详细解释使用mysql客户端连上MySQL的服务端的过程以及通过用户认证的过程。 继续阅读全文 →
七 18 MYSQL DAEMON PLUGIN EXAMPLE 发布时间:2011 年 7 月 18 日 发布者: OurMySQL 5.1 版本开始MySQL开始支持plugin API,允许在mysqld运行时载入或者卸载组件,而不需要重启mysqld。plugin API涵盖了UDF、full-text、advanced schema等功能,其中的daemon plugin个人认为是非常的有用。其功能是在plugin载入后可以创建额外的后台线程于mysqld主线程一同协同工作。 继续阅读全文 →
七 18 利用PLUGIN更快的添加STATUS VARIABLES 发布时间:2011 年 7 月 18 日 发布者: OurMySQL 在MySQL里添加一个system、status variables的比较复杂的,需要修改sql/sql_show.cc,sql/mysqld.cc, 还要修改sql/sql_yacc.yy,然后重新编译等等,前面的文章可见其复杂度,很容易出错。daemon plugin 除了允许添加后台线程,也允许添加status,且不需要修改mysqld的代码。 继续阅读全文 →
三 30 InnoDB的多版本一致性读的实现 发布时间:2011 年 3 月 30 日 发布者: OurMySQL InnoDB是支持MVCC多版本一致性读的,因此和其他实现了MVCC的系统如Oracle,PostgreSQL一样,读不会阻塞写,写也不会阻塞读。虽然同样是MVCC,各家的实现是不太一样的。Oracle通过在block头部的事务列表,和记录中的锁标志位,加上回滚段,个人认为实现上是最优雅的方式。 而PostgreSQL则更是将多个版本的数据都放在表中,而没有单独的回滚段,导致的一个结果是回滚非常快,却付出了查询性能降低的代价。 继续阅读全文 →
二 24 PHP查询MySQL大量数据的内存占用分析 发布时间:2011 年 2 月 24 日 发布者: OurMySQL 这篇文章主要是从原理, 手册和源码分析在PHP中查询MySQL返回大量结果时, 内存占用的问题, 同时对使用MySQL C API也有涉及. 继续阅读全文 →
二 21 数据库设计范式的理解 发布时间:2011 年 2 月 21 日 发布者: OurMySQL 范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。 继续阅读全文 →
二 21 MySQL延时备份之实现 发布时间:2011 年 2 月 21 日 发布者: OurMySQL 在实际工作中,经常有一不小心误删除数据库或表而后悔莫及的事件发生,这有没有后悔药可吃呢?今天介绍的延时备份就可以做到。延时备份让slave滞后于master一段时间,当你误操作时只要立即停止slave的同步,即可轻松地从延时备份库中找回你误删的数据。 继续阅读全文 →
一 30 SQL到NOSQL的思维转变 发布时间:2011 年 1 月 30 日 发布者: OurMySQL NOSQL系统一般都会宣传一个特性,那就是性能好,然后为什么呢?关系型数据库发展了这么多年,各种优化工作已经做得很深了,NOSQL系统一般都是吸收关系型数据库的技术,然后,到底是什么因素束缚了关系型数据库的性能呢?我们从系统设计的角度看这个问题。 继续阅读全文 →
一 28 处理Mysql的MySql-bin.0000X日志文件 发布时间:2011 年 1 月 28 日 发布者: OurMySQL mysql运行一段时间后,在mysql目录下出现一堆类似 mysql-bin.000***,从mysql-bin.000001开始一直排列下来,而且占用了大量硬盘空间,高达几十个G. 对于这些超大空间 占用量的文件我们应该怎么办呢? 继续阅读全文 →
一 24 mysql unknown command ‘\”‘问题解决办法 发布时间:2011 年 1 月 24 日 发布者: OurMySQL 经过多是导出导入发现,原来默认安装的mysql使用的是utf8编码,而我本机安装的是mysql gbk数据库。这样一来,备份文件恢复的时候可能就出现了格式错误。 继续阅读全文 →