MySQL中常见的⼏种⽇志汇总2012iis配置php网站
国内免费静态网页前⾔:
在 MySQL 系统中,有着诸多不同类型的⽇志。各种⽇志都有着⾃⼰的⽤途,通过分析⽇志,我们可以优化数据库性能,排除故障,甚⾄能够还原数据。这些不同类型的⽇志有助于我们更清晰的了解数据库,在⽇常学习及运维过程中也会和这些⽇志打交道。本节内容将带你了解 MySQL 数据库中⼏种常⽤⽇志的作⽤及管理⽅法。
1.错误⽇志(errorlog)
错误⽇志记录着 mysqld 启动和停⽌,以及服务器在运⾏过程中发⽣的错误及警告相关信息。当数据库意外宕机或发⽣其他错误时,我们应该去排查错误⽇志。
log_error 参数控制错误⽇志是否写⼊⽂件及⽂件名称,默认情况下,错误⽇志被写⼊终端标准输出stderr。当然,推荐指定log_error 参数,⾃定义错误⽇志⽂件位置及名称。
# 指定错误⽇志位置及名称
vim /etc/myf
[mysqld]
log_error = /data/mysql/logs/error.log
相关配置变量说明:
log_error={1 | 0 | /PATH/TO/ERROR_LOG_FILENAME}
定义错误⽇志⽂件。作⽤范围为全局或会话级别,属⾮动态变量。
2.慢查询⽇志(slow query log)
慢查询⽇志是⽤来记录执⾏时间超过 long_query_time 这个变量定义的时长的查询语句。通过慢查询⽇志,可以查出哪些查询语句的执⾏效率很低,以便进⾏优化。
与慢查询相关的⼏个参数如下:
1. slow_query_log :是否启⽤慢查询⽇志,默认为0,可设置为0,1。
2. slow_query_log_file :指定慢查询⽇志位置及名称,默认值为host_name-slow.log,可指定绝对路径。
3. long_query_time :慢查询执⾏时间阈值,超过此时间会记录,默认为10,单位为s。
4. log_output :慢查询⽇志输出⽬标,默认为file,即输出到⽂件。
默认情况下,慢查询⽇志是不开启的,⼀般情况下建议开启,⽅便进⾏慢SQL优化。在配置⽂件中可以增加以下参数:
# 慢查询⽇志相关配置,可根据实际情况修改
vim /etc/myf
[mysqld]
slow_query_log = 1
slow_query_log_file = /data/mysql/logs/slow.log
long_query_time = 3
log_output = FILE
3.⼀般查询⽇志(general log)
⼀般查询⽇志⼜称通⽤查询⽇志,是 MySQL 中记录最详细的⽇志,该⽇志会记录 mysqld 所有相关操作,当 clients 连接或断开连接时,服务器将信息写⼊此⽇志,并记录从 clients 收到的每个 SQL 语句。当你怀疑 client 中的错误并想要确切知道client 发送给mysqld的内容时,通⽤查询⽇志⾮常有⽤。
默认情况下,general log 是关闭的,开启通⽤查询⽇志会增加很多磁盘 I/O,所以如⾮出于调试排错⽬的,不建议开启通⽤查询⽇志。相关参数配置介绍如下:
# general log相关配置
vim /etc/myf
[mysqld]
general_log = 0 //默认值是0,即不开启,可设置为1
general_log_file = /data/mysql/logs/general.log //指定⽇志位置及名称
4.⼆进制⽇志(binlog)
关于⼆进制⽇志,前⾯有篇⽂章做过介绍。它记录了数据库所有执⾏的DDL和DML语句(除了数据查询语句select、show 等),以事件形式记录并保存在⼆进制⽂件中。常⽤于数据恢复和主从复制。
与 binlog 相关的⼏个参数如下:
log_bin :指定binlog是否开启及⽂件名称。
server_id :指定服务器唯⼀ID,开启binlog 必须设置此参数。
binlog_format :指定binlog模式,建议设置为ROW。
max_binlog_size :控制单个⼆进制⽇志⼤⼩,当前⽇志⽂件⼤⼩超过此变量时,执⾏切换动作。
expire_logs_days :控制⼆进制⽇志⽂件保留天数,默认值为0,表⽰不⾃动删除,可设置为0~99。
binlog默认情况下是不开启的,不过⼀般情况下,建议开启,特别是要做主从同步时。
# binlog 相关配置
vim /etc/myf
[mysqld]
server-id = 1003306
log-bin = /data/mysql/logs/binlog
binlog_format = row
expire_logs_days = 15
5.中继⽇志(relay log)
倾斜度 英语中继⽇志⽤于主从复制架构中的从服务器上,从服务器的 slave 进程从主服务器处获取⼆进制⽇志的内容并写⼊中继⽇志,然后由 IO 进程读取并执⾏中继⽇志中的语句。
relay log 相关参数⼀般在从库设置,⼏个相关参数介绍如下:
relay_log :定义 relay log 的位置和名称。
relay_log_purge :是否⾃动清空不再需要中继⽇志,默认值为1(启⽤)。
relay_log_recovery :当 slave 从库宕机后,假如 relay log 损坏了,导致⼀部分中继⽇志没有处理,则⾃动放弃所有未执⾏的 relay log ,并且重新从 master 上获取⽇志,这样就保证了 relay log 的完整性。默认情况下该功能是关闭的,将relay_log_recovery 的值设置为1可开启此功能。
relay log 默认位置在数据⽂件的⽬录,⽂件名为 host_name-relay-bin,可以⾃定义⽂件位置及名称。
# relay log 相关配置,从库端设置
jvm优化面试题vim /etc/myf
[mysqld]
mysql面试题汇总relay_log = /data/mysql/logs/relay-bin
relay_log_purge = 1
relay_log_recovery = 1
总结:vs2019不到iostream
本篇⽂章主要讲述了 MySQL 中的⼏类⽇志的⽤途及设置⽅法,需要注意的是,上述⼏类⽇志,若不指定绝对路径,则默认保存在数据⽬录下,我们也可以新建⼀个⽇志⽬录专⽤于保存这些⽇志。还有 redo log 和 undo log 没有讲解,留在下篇⽂章吧。
到此这篇关于MySQL中常见的⼏种⽇志的⽂章就介绍到这了,更多相关MySQL常见⽇志内容请搜索以
前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论