2014年4月3日

InnoDB Double write

摘要: 记得刚开始看InnoDB文档的时候,Double Write一节(其实只有一小段)就让我很困惑。无奈当时内力太浅,纠缠了很久也没弄明白。时隔几个月,重新来整理一下。涉及到的概念:Buffer Pool简称BP,Dirty Page,Log file,Flush,innodb tablespace。1. 什么是Double Write在InnoDB将BP中的Dirty Page刷(flush)到磁盘上时,首先会将Page刷到InnoDB tablespace的一个区域中,我们称该区域为Double write Buffer。在向Double write Buffer写入成功后,再择机将数据拷贝到 阅读全文

posted @ 2014-04-03 01:38 Still water run deep 阅读(259) 评论(0) 推荐(0) 编辑

int(M)与int

摘要: int(M) ,加上zerofill后M才表现出有点效果,比如 int(3) zerofill,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果int(3)和int(10)不加 zerofill,则它们没有什么区别.M不是用来限制int个数的.int(M)的最大值和最小值与undesigned有关,最下面那副图有说明.mysql> create table t (t int(3) zerofill);Query OK, 0 rows affected (0.00 sec)mysql> insert into t set t = 10;Query OK, 阅读全文

posted @ 2014-04-03 00:46 Still water run deep 阅读(866) 评论(0) 推荐(0) 编辑

MySQL库目录下db.opt文件的作用

摘要: 细心的朋友可能会发现有时候在某些库目录下有个 db.opt 文件,那这个文件是干什么用的呢?如果你用vi等编辑器打开看的话,内容很简单,是用来记录该库的默认字符集编码和字符集排序规则用的。也就是说如果你创建数据库指定默认字符集和排序规则,那么后续创建的表如果没有指定字符集和排序规则,那么该新建的表将采用db.opt文件中指定的属性。/* Set table default charset, if not set SYNOPSIS set_table_default_charset() create_info Table create information DE... 阅读全文

posted @ 2014-04-03 00:28 Still water run deep 阅读(1191) 评论(0) 推荐(0) 编辑

Mysql负载均衡之主从同步

摘要: 环境:主服务器:从服务器:###下面我们来开始配置,首先我们在主服务器上面操作步骤一:授权步骤二:查询主数据库的状态###下面我们来配置从服务器步骤一:修改配置文件Vi /etc/my.cnf步骤二:重新mysql服务server mysqld restart步骤三:执行同步SQL语句步骤四:启动Slave同步进程并主从同步检查 ###注意:上图红色区域Slave_IO_Running和Slave_SQL_Running的值必须是Yes 至此主从同步配置完成,下面我们来做个测试主服务器: ####以上图片主要是建立一个数据库data_test,然后建立一个tab... 阅读全文

posted @ 2014-04-03 00:20 Still water run deep 阅读(404) 评论(0) 推荐(0) 编辑

Mysql 工作原理

摘要: 刚开始接触一个新的事物的时候,我觉得很有必要从其工作原理入手,弄清楚这个东西的来龙去脉,为接下来的继续深入学习做好铺垫,掌握好其原理有助于我们从整体上来把握这个东西,并且帮助我们在排错过程中理清思路。接下来,还是从mysql的工作原理开始入手,下面先来一张经典的图: 上面的图就是mysql的内部架构,可以清楚的看到Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的。-+-----------------------------------------------------------------------------------+- 下面是关于上述部件的介绍:1. connec 阅读全文

posted @ 2014-04-03 00:06 Still water run deep 阅读(19513) 评论(2) 推荐(4) 编辑

导航