002 mysql物理结构

 

step1 mysql物理结构

  • MySQL是通过文件系统对数据和索引进行存储的。

  • MySQL从物理结构上可以分为日志文件和数据索引文件。

  • MySQL在Linux中的数据索引文件和日志文件都在/var/lib/mysql目录下。

  • 日志文件采用顺序IO方式存储、数据文件采用随机IO方式存储。

顺序IO:记录首地址与偏移量,只存储和查询,记录速度快,只能追加数据,浪费空间,适用于日志存储;

随机IO:需要记录地址[0x9559],随机位置存入,省空间,相对慢,适用于数据和索引的存储;

step2 日志文件

查看日志开启情况  

mysql> show variables like 'log_%';

1.errorlog 错误日志

        错误日志记录了运行过程中遇到的所有严重的错误信息,以及 MySQL每次启动和关闭的详细信息,默认是开启的,而且从5.5.7以后无法关闭错误日志。

2.bin log 二进制日志

        记录数据变化,binlog记录了数据库所有的ddl语句和dml语句,但不包括select语句内容,语句以事件的形式保存,描述了数据的变更顺序,binlog还包括了每个更新语句的执行时间信息;如果是DDL语句,则直接记录到binlog日志,而DML语句,必须通过事务提交才能记录到binlog日志中。

配置my.cnf开启:mysql-bin是日志的前缀

#bin-log
log-bin=mysql-bin

配置完成后重启mysql就会出现mysql-bin.000001文件,每次重启mysql都会出现一个mysql-bin.XXXXXX的文件;

注:生产环境中非常有必要开启,数据备份、恢复、主从都应用;

3.general query log 通用查询日志

        全面记录CRUD日志,非常耗费性能,所以生产环境不开启;

#general query log
#general_log=on
#general_log_file=/var/lib/mysql/gen-log.log

4.slow query log 慢查询日志(重要)

        针对sql调优的日志,记录并定位消耗资源高的select(执行慢);默认是关闭状态,需要通过设置my.cnf进行开启;

#开启慢查询日志
slow_query_log=ON
#慢查询的阈值(单位为秒)
long_query_time=3
#日志记录文件如果没有给出file_name值, 默认为主机名,后缀为-slow.log。如果给出了文件名,但不
是绝对路径名,文件则写入数据目录。
slow_query_log_file=file_name

记录执行时间超过long_query_time秒的所有查询,便于收集查询时间比较长的SQL语句。

5.redo log 重做日志

        mysql自己生成,ib_logfile0及ib_logfile1;

 

6.undo log 回滚日志

        mysql自己生成,ibdata1中(数据共享区);

 

7.relay log 中继日志

        配置主从过程中,从库生成的日志;

step3 数据文件

查看数据文件

mysql> SHOW VARIABLES LIKE '%datadir%';

1.InnoDB数据文件

  • .frm文件:主要存放与表相关的数据信息,主要包括表结构的定义信息;

  • .ibd:使用独享表空间存储表数据和索引信息,一张表对应一个ibd文件;

  • ibdata文件:使用共享表空间存储表数据和索引信息,所有表共同使用一个或者多个ibdata文件。

2.MyIsam数据文件

        很少使用,如果需要应用MyIsam引擎可以用redis替代;

  • .frm文件:主要存放与表相关的数据信息,主要包括表结构的定义信息

  • .myd文件:主要用来存储表数据信息

  • .myi文件:主要用来存储表数据文件中任何索引的数据树

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值