一、mysql日志文件的作用
1、能记录物理数据页面的修改的信息;
2、能将数据从逻辑上恢复至事务之前的状态;
3、能以二进制文件的形式记录了数据库中的操作;
4、能记录错误的相关信息;
5、能从主服务器中二进制文件取的事件等等。

普通日志
记录了服务器接收到的每一个查询或是命令,无论这些查询或是命令是否正确甚至是否包含语法错误,general log 都会将其记录下来 ,记录的格式为 {Time ,Id ,Command,Argument }。
也正因为mysql服务器需要不断地记录日志,开启General log会产生不小的系统开销。 因此,Mysql默认是把General log关闭的。
mysql> show variables like 'general_log%';
+
| Variable_name | Value |
+
| general_log | OFF |
| general_log_file | /www.yuchaoit.cn/mysql_3306/db-51.log |
+
2 rows in set (0.01 sec)
可以开启该功能,命令临时修改
mysql> set global general_log = on;
Query OK, 0 rows affected (0.00 sec)
mysql> set global general_log = on;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'general_log%';
# 永久配置,则写入my.cnf即可
对于普通日志的功能,一般都是关闭的,查询日志的信息量很大,网站用户的海量请求,日志频繁写入,对于磁盘的IO影响很大。
但是对于网访问量不大,并且企业对于SQL审计要求较高,可以开启该功能。
二进制日志binlog
binlog是记录数据库被修改的SQL语句,对数据造成影响了。
一般是DDL和DML语句,包含
insert
update
delete
create
drop
alter
等关键字
作用
记录mysql数据的增量数据,且用来做增量数据恢复,前面超哥已经完整的讲过、全量备份、增量备份的区别,如果不开启binlog,将无法恢复完整的数据。
以及用在主从数据复制
慢查询日志
慢查询日志(slow query log)用于记录执行时间拆过指定值(long_query_time)或者没有使用索引、结果集大于1000行的SQL语句。

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性