mysql物理文件/日志简介(个人学习笔记)

一、数据库的存储文件

1、配置文件:linux(my.cnf),windows(my.ini)
2、myisam存储引擎文件结构
MYI文件:索引
MYD文件:数据
frm文件:表结构(8.0之前,8.0之后表结构信息不再放到frm里面,而是放到数据字典当中)
3、innoDb存储引擎文件结构
ibd文件:独享,一张表一个文件/空间,一般使用独享
indata1文件:共享,多个表在同一个文件/空间中存储(在data目录下,必须设置了共享配置才会有这个文件)
innoDb存储数据的方式是通过b+tree结构存储,数据存储在最底部,上面由索引构成

二、日志

六种日志文件:查询日志、慢查询日志、错误日志、binlog日志(二进制日志)、中继日志、事务日志

1、查询日志

主要记录mysql数据库的查询(select),通过general_log配置on开启/off关闭,general_log_file配置日志文件目录,默认是关闭的,不推荐开启

2、慢查询日志

记录mysql查询响应时间超过指定的某个时间段(long_query_time配置),主要作用:帮助分析项目运行之后一些特定sql的捕捉,进行针对性的性能分析及优化,slow_query_log配置1开始/0关闭,slow_query_log_file配置日志文件目录,默认是关闭的,推荐项目运行之后开启,可通过mysqldumpslow进行慢查询分析

3、错误日志

记录mysql服务运行中产生的异常错误(不是sql异常,而是服务异常)

4、二进制日志

记录的是执行的sql写操作,可以根据二进制文件进行增量备份及恢复、主从复制
log_bin = mysql-bin; 开启binlog日志
server-id = 1; 主机ID(可用来做主从复制)
binlog_format = row/st/mixed 记录日志的方式:行/sql/混合
每开启一次mysql服务就会生成一个binlog日志文件
二进制文件的操作:
show master status; --查询当前使用的二进制文件
show binlog events in “binlog文件”; --查询指定的二进制文件信息
show binary logs; --查询当前mysql所有的二进制文件
reset master; --清空所有的二进制文件
flush log; --清空所有的日志文件

5、中继日志

主要在主从中应用,同时这个文件记录的是主节点的binlog日志,从节点根据这个中继日志文件进行数据恢复/同步/复制

6、事务日志

重做日志:事务已经提交,但是数据还未刷新到磁盘,这个时候如果mysql宕机了,在修理好mysql之后,在下一次开启mysql服务的时候,会执行记录同步数据到磁盘,保证数据的一致性和原子性
回滚日志:在事务没有提交的时候,会记录到回滚日志,如果没有提交事务,在下一次mysql服务重启的时候会执行回滚。或者当我们执行回滚命令的时候会执行回滚日志记录的信息

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值