摘要: Mysql默认情况下会有两个文件:ib_logfile0和ib_logfile1,这两个文件就是重做日志文件,或者事务日志。重做日志的目的:万一实例或者介质失败,重做日志文件就能派上用场。每个InnoDB存储引擎至少有一个重做日志文件组,每个文件组下至少有2个重做日志文件,如默认的ib_logfile0、ib_logfile1。InnoDB存储引擎先写重做日志文件1,当达到文件的最后时,会切换至重做日志文件2,当重做日志文件2也被写满时,会再被切换到重做日志文件1中。影响重做日志的参数:Innodb_log_file_size、innodb_log_files_in_group、innodb_ 阅读全文
posted @ 2013-01-16 10:44 一宁 阅读(3686) 评论(0) 推荐(0) 编辑
摘要: 二进制日志记录了所有对数据库执行更改的操作,二进制主要有以下两种作用:1、恢复(recovery)2、复制(replication)二进制日志的启动:配置参数log-bin[=name],如果不指定name,则默认二进制日志文件名为主机名,后缀名为二级制日志的序列号,所在路径为数据库所在目录。以index为后缀的文件为二进制日志的索引文件,用来存储过往生产的二进制日志。和二进制日志相关的参数:max_binlog_size、binlog_cache_size、sync_binlog、binlog-do-db、binlog-ignore-db、log-slave-update、binlog_fo 阅读全文
posted @ 2013-01-16 09:21 一宁 阅读(5028) 评论(0) 推荐(0) 编辑
摘要: Mysql数据库的文件包括:1、参数文件:my.cnf2、日志文件,包括错误日志、查询日志、慢查询日志、二进制日志3、Mysql表文件:用来存放mysql表结构的文件,一般以.frm为后缀4、Socket文件:当用unix域套接字方式进行连接时需要的文件5、Pid文件:mysql实例的进程ID文件6、存储引擎文件:每个存储引擎都有自己的文件夹来保存各种数据,这些存储引擎真正存储了数据和索引等数据。参数文件可以通过命令行“mysql--help|grepmy.cnf”查看my.cnf文件的位置;Mysql在启动时可以不需要参数文件,但是如果在默认的数据库目录下找不到mysql架构,则启动会失败; 阅读全文
posted @ 2013-01-15 20:38 一宁 阅读(3312) 评论(0) 推荐(0) 编辑
摘要: InnoDB存储引擎的三个关键特性:插入缓冲(insertbuffer)、二次写(doublewrite)、自适应哈希索引(adaptivehashindex)。1、插入缓冲(insertbuffer)的原理: 对于非聚集索引的插入和更新,不是每一次直接插入索引页中,而是首先判断插入的非聚集索引页是否在缓冲池中,如果在,则直接插入,否则,先放入一个插入缓冲区中。好似欺骗数据库这个非聚集的索引已经插入到叶子节点了,然后再以一定的频率执行插入缓冲和非聚集索引页子节点的合并操作,这时通常能将多个插入合并到一个操作中,这就大大提高了对非聚集索引执行插入和修改操作的性能。 插入缓冲使用的条件: 1... 阅读全文
posted @ 2013-01-14 10:47 一宁 阅读(4803) 评论(0) 推荐(0) 编辑
摘要: InnoDB体系结构如下:后台线程:1、后台线程的主要作用是负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据;2、另外,将以修改的数据文件刷新到磁盘文件;3、同时,保证在数据库发生异常的情况下,InnoDB能恢复到正常运行状态。内存池:InnoDB有多个内存块,这些内存块组成了一个大的内存池。这些内存块包括有:缓冲池(innodb_buffer_pool)和日志缓冲(log_buffer)以及额外内存池(innodb_addtional_mem_pool_size)。后台线程:后台默认的线程有7个-----4个IOthread,1个masterthread,1个锁监控线程,1个错误 阅读全文
posted @ 2013-01-11 10:28 一宁 阅读(2545) 评论(0) 推荐(0) 编辑
摘要: 1、查看数据库服务器状态:statusLinux下的MySQL服务器状态该列表中主要包括MySQL的版本(为version5.1.61)、运行平台(debian-linux-gnu(i686))、数据库连接的ID、当前连接用户、以及连接的方式(本次连接采用UNIXsocket,而未使用SSL)、服务端的字符集、MySQL运行时间和线程、查询、表的一些参数。Windows下的MySQL服务器状态这个是MySQL5.5的版本。2、了解了MySQL的整体状况之后,就需要了解MySQL支持的存储引擎:showengines;在MySQL5.1的版本中,默认支持的是MyISAM引擎。MySQL5.5支持 阅读全文
posted @ 2013-01-09 15:59 一宁 阅读(10628) 评论(0) 推荐(1) 编辑
摘要: 从物理意义上来讲,InnoDB表由共享表空间、日志文件组(redo文件组)、表结构定义文件组成。若将innodb_file_per_table设置为on,则系统将为每一个表单独的生成一个table_name.ibd的文件,在此文件中,存储与该表相关的数据、索引、表的内部数据字典信息。表结构文件则以.frm结尾,这与存储引擎无关。 以下为InnoDB的表空间结构图:在InnoDB存储引擎中,默认表空间文件是ibdata1,初始化为10M,且可以扩展,如下图所示: 实际上,InnoDB的表空间文件是可以修改的,使用以下语句就可以修改:Innodb_data_file_path=ibdata... 阅读全文
posted @ 2013-01-08 19:28 一宁 阅读(27679) 评论(1) 推荐(2) 编辑
摘要: 三个月的生活 这几天身体一直有些不舒服,所以借此机会来总结一下过去的这三个月,三个月的生活应该说是忙碌而又充实的,期间做了一些事情,考试、学习、兼职等等。一个一个说吧,首先最头疼的是连续不断的考试,以下是本学期的考试安排: 2012.9.1 数字逻辑与系统设计 2012.10.26 电子商务软件技术 2012.11.1 嵌入式系统软件开发 2012.11.6 24式太极(老师说太过恶心,得补考) 2012.11.7 C#设计模式 2012.11.12 软件测试与评估 2012.11.20 24式太极(补考) 2012.11.27 网络信息安全 2012.12.2 汇编与接口... 阅读全文
posted @ 2012-12-23 23:37 一宁 阅读(4353) 评论(6) 推荐(1) 编辑
摘要: 一、 在对网站整体性能进行benchmark时,可以使用多种工具,比如大名鼎鼎的ab(Apache bench),http_load等工具。这里我们不关注他们的使用,如果你想了解,可以去这里。 重点来说MySQL的基准测试如何进行,也有很多种工具来供我们选择,比如mysqlslap、sysbench、Super Smack等,其中mysqlslap的使用MySQL官网给出了介绍,Super Smack是服务器压力测试强有力的工具,那么sysbench便是我们进行MySQL基准测试的很漂亮的工具了。 sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等... 阅读全文
posted @ 2012-12-11 01:49 一宁 阅读(10371) 评论(1) 推荐(1) 编辑
摘要: Create Table1.创建数据表CREATETABLE`amount`(`id`int(11)NOTNULLAUTO_INCREMENT,`amount`decimal(10,2)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDB DEFAULTCHARSET=utf8DELIMITER $$2.创建触发器示例(1)CREATE /*[DEFINER = { user | CURRENT_USER }]*/ TRIGGER `mytest`.`tri_amount2` BEFORE UPDATE ON `mytest`.`amount` FOR EACH 阅读全文
posted @ 2012-07-27 17:42 一宁 阅读(335) 评论(0) 推荐(0) 编辑