MySQL技术内幕-InnoDB存储引擎-读书笔记(二)

MySQL技术内幕-InnoDB存储引擎-读书笔记(二)

作为php开发,使用mysql总是少不了的

mysql
系列文章博客链接 http://itsong.net/articles/466.html

第三章 文件

mysql与innodb几个类型的文件

  • 参数文件,配置路径、初始化参数、内存大小等
  • 日志文件,包括错误日志,二进制日志,慢查询日志,查询日志
  • socket文件,用unix域套接字,unix domain socket来进行连接时需要的文件,这一般是本机连接,比通常tcp快
  • pid文件,进程id文件
  • 表结构文件,存放表结构定义的文件
  • 存储引擎文件,每个存储引擎自己搞文件保存数据,包括数据和索引等。
    *

参数文件

  • musql --help | grep my.cnf可以寻找加载哪些参数文件
  • 静态参数,整个实例生命周期不得更改,类似只读。
  • 动态参数,可以通过set命令进行更改
SET
| [global | session] system_var_name = expr
| [@@global. | @@session. | @@]system_var_name = expr
  • global与session表示该参数的修改基于当前会话还是整个实例的生命周期。

日志文件

  • 错误日志,show variables like 'log_error'定位错误日志,默认情况下,文件名为服务器主机名.err
  • 慢查询日志,阈值通过 long_query_time 修改,默认值10秒(含义是大于10,不包括10),默认不启动慢查询日志,要将 log_slow_queries 设为ON,mysqldumpslow可以解决日志过多难以解决的问题
  • 从5.1开始,慢查询可以以微秒记录。并且慢查询会进表,叫mysql.slow_log,通过log_output(FILE | TABLE)指定
  • log_queries_not_using_indexes,记录没有使用索引的慢查询日志文件
  • 查询日志,默认文件名为主机名.log,也可以进表,general_log
  • 二进制日志,记录对数据库执行更改的所有操作,不包括SELECT和SHOW这类操作。包括操作时间和执行时间等信息。主要用来恢复、复制(master,slave实时同步)
  • 二进制日志所在目录show variables like 'datadir',默认文件名为主机名,后缀为序列号,bin_log.index为二进制的索引文件,存储日志序号
  • 默认二进制日志未开启,开启binlog性能下降1%,但是可以接受的
  • 查看binlog要使用mysqlbinlog,binlog还有很多操作,不过这里我不太关心啦

其他

  • 套接字文件,一般再/tmp下,mysql.sock
  • pid文件,主机名.pid,variables 为 pid_file
  • 表结构定义文件,frm后缀名的文件,记录的表结构定义以及视图定义,文本文件,可以直接cat

innodb存储引擎文件

  • 存储的数据按表空间进行存放,默认会有一个初始化大小为10MB,名为ibdata1的文件,默认表空间。
  • 设置innodb_data_file_path参数后,innodb存储引擎的表的数据都会记录到该文件内。
  • 设置innodb_file_per_table,每个基于innodb存储引擎的表单独产生一个表空间,文件名为表名.ibd,就不会进入默认表空间。
  • 这些单独的表空间文件仅存储该表的数据,索引和插入缓冲等信息,其余信息还是存放在默认的表空间。

重做日志文件

  • ib_logfile0和ib_logfile1,记录了innodb存储引擎的事务日志
  • 每个文件写到文件最后时,切换至另一个日志文件去写,为了得到更高的可靠性,可以设置多个镜像日志组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狂云歌

如果认为有价值,那欢迎打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值