win mysql目录
- bin 可执行文件
- data 数据文件日志
数据库的存储文件
myisam存储引擎(存数据的方式):
MYI =》存储的索引
MYD =》存储数据
innodb存储引擎=>存储数据的方式与myisam不同,它是索引与数据存储到一起 .ibd 独享(一个文件一个表) .ibdta1共享 (很多个表共享同一个空间)
innodb存储数据的方式就是通过b+tree结构存储
b+tree结构的构成是由索引构成,数据存储在(叶子)底部
查询日志
文件位置:data/query_log.pid
主要mysql的select查询,默认关闭,不推荐开启
show variables like “%general_log%” //查询日志是否开启
set global general_log = “on” 设置查询日志开启与关闭
慢查询日志(重点)
主要是记录mysql中响应时间超过某个时间段。
参数: long_query_time
作用: 帮助我们在项目运行之后一些特定的sql进行捕捉(通常是比较慢的sql)得到sql之后可以针对性进行优化
建议: 在项目运行之后开启
相关参数:
slow_query_log = 1 --开启慢查询日志
slow_query_log_file = --日志目录文件位置
long_query_time = 3 --设置最大等待时间
select sleep(4); --测试
错误日志
作用:记录mysql服务运行中产生的异常错误=》这个异常不是sql异常,而是指服务异常
二进制文件 binlog日志(重要)
记录执行的sql(update insert delete create)写操作
功能:
- 增量的备份及恢复
- 主从复制
操作:
log_bin = mysql-bin --开启binlog日志
server_id = 1 --mysql服务运行的id
binlog_format = mixed --记录binlog日志的方式
每开启一次mysql服务,binlog就会生成一个文件名.000001
二进制文件的操作:
show binlog events in “mysql-bin.000002” --查询当前二进制文件
show master status; --查询当前使用的二进制文件
show binary logs; --查询当前mysql所有的二进制文件
show binlog events; --查询第一个日志文件
restet master; --清空所有的二进制文件
flush logs --清空所有的日志文件
中继日志(了解)
主要是在主从中做运用,同时这个文件会记录主节点binlog日志,在到从节点根据这个文件进行数据恢复
事务日志
重做日志:主要是在事务已经提交但是数据还未刷新到磁盘,mysql宕机了,在一次启动mysql服务时