binlog
、relaylog
、undolog
、errorlog
、slowlog
各种log都有啥区别
您好,
错误日志:对MySQL的启动、运行、关闭过程进行了记录,该文件不仅记录了所有的错误信息,也记录了一些警告信息或正确信息。排查问题是可首先看错误日志。通过SHOW VARIABLES LIKE’log_error’来定位错误日志的路径,默认文件名为主机名.err。
慢查询日志:运行时间超过阈值的SQL语句将会被记录到慢查询日志中,DBA可以根据慢查询日志来优化sql语句。时间阈值可通过修改long_query_time来设置,默认10秒。MySQL5.1之后慢查询日志可以在表slow_log中查询。除了设置long_query_time根据运行时间将sql记录到slow_log,还支持根据逻辑IO次数将sql记录到slow_log,用long_query_io控制。slow_query_type用来控制启用slow log的方式:0:不将sql记录到slow log;1:根据运行时间;2:根据逻辑IO次数;3:根据运行时间和逻辑IO次数。
查询日志:记录所有对MySQL数据库请求的信息,可以在general_log表中查询。
二进制日志:记录所有对MySQL数据库执行更改的所有操作,但是不包括SELECT和SHOW这类操作,因为它们没有修改数据库。二进制日志可用于恢复、复制数据库。二进制日志文件格式为二进制,需要用MySQL提供的工具mysqlbinlog查看。
中继日志: 从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后从服务器SQL线程会读取relay-log日志的内容并应用到从服务器,从而使从服务器和主服务器的数据保持一致.
redo log通常是物理日志,记录的是数据页的物理修改,而不是某一行或某几行修改成怎样怎样,它用来恢复提交后的物理数据页(恢复数据页,且只能恢复到最后一次提交的位置)。undo用来回滚行记录到某个版本。undo log一般是逻辑日志,根据每行记录进行记录。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。