目录
日志简介
记录服务器正在发生的活动
分类
默认情况下,所有启动的日志都会写入数据目录
- 其中,windows下默认仅开启错误日志
- linux的ubuntu下默认开启错误日志和二进制日志
一般查询日志
记录所有的查询语句+客户端连接/断开的信息
- 记录客户端连接的日志行,会使用connection_type来指示用于建立连接的协议的类型
- 记录的查询语句是mysqld接收到的语句顺序,与执行顺序可能有所不同
一般不开启,会造成大量磁盘io,非常消耗服务器资源
中继日志
存储从主服务器接收到的二进制日志内容的日志文件
- 内容来源于集群中的主服务器
类比
相当于班上的学渣想要抄学霸作业时 (假设学霸只有一个,学渣有多个)
- 如果作业一个一个传着来,需要很久
- 但如果每个学渣用手机拍下学霸作业,对着照片去写,这样就快很多了
- 中继日志就相当于这里的照片
DDL日志
DDL 操作涉及数据库对象的结构修改,如创建、删除和修改表、索引、数据库等
回滚日志
是 MySQL 中与 事务 相关的日志
- 用于记录事务中执行的语句,帮助在过程中进行回滚操作
重做日志
是 MySQL 中 InnoDB 存储引擎 用于保证事务 持久性(Durability)和 崩溃恢复 的关键日志类型
- 防止在将数据写入磁盘时mysqld崩溃,导致数据丢失
- 所以,在写入磁盘之前,先写入重做日志,保证有一份完整的数据副本
介绍
服务器运行期间可以开启/禁用一般查询和慢查询日志
- 用于排查服务器负载高的原因 -- 可能是被发送了恶意sql语句
- 排查后即可关闭,防止占用服务器资源
可以通过[刷新日志]操作来强制服务器去关闭+重新打开日志文件
- 用于切换到一个新的日志文件,通常用于日志轮转、清理或者手动管理日志文件
- 包括 二进制日志(log-bin)、慢查询日志、错误日志等
比如:
- logbin在数据目录下存在多个版本,关闭+重新打开后就会创建一个(编号+1)的日志文件