MySQL物理文件----日志文件(错误日志、通用查询日志、二进制日志、慢查询日志)

这篇具有很好参考价值的文章主要介绍了MySQL物理文件----日志文件(错误日志、通用查询日志、二进制日志、慢查询日志)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MYSQL5.7/8.0支持的几种日志文件

MySQL物理文件----日志文件(错误日志、通用查询日志、二进制日志、慢查询日志),mysqlcop,Linux操作mysql,mysql数据库高级知识,mysql,android,数据库

1、错误日志(Error log)

MySQL 错误日志记录 MySQL 运行过程中较为严重的警告和错误信息,以及 MySQL 每次启动和关闭的详细信息。

MySQL 错误日志默认是开启的。可以通过 MySQL 配置文件中的 log-error=/var/log/mysqld.log 配置,修改错误日志的配置信息。

可以通过如下 SQL 查看错误日志的详细信息:
show variables like ‘%log_err%’;
MySQL物理文件----日志文件(错误日志、通用查询日志、二进制日志、慢查询日志),mysqlcop,Linux操作mysql,mysql数据库高级知识,mysql,android,数据库

注意点:
error log存放位置:/data/mysql_log/mysql-error-3306.log
vim mysql-error-3306.log 可查看日志内容


2、一般或通用查询日志(General query log)

记录已连接MYSQL数据库的客户端所执行的语句。

可以通过如下 SQL 查看当前的通用日志是否开启:
SHOW VARIABLES LIKE ‘%general%’;


mysql> SHOW VARIABLES LIKE '%general%';
+------------------+----------------------------+
| Variable_name    | Value                      |
+------------------+----------------------------+
| general_log      | ON                         |
| general_log_file | /data/mysql_data/query.log |
+------------------+----------------------------+
2 rows in set (0.00 sec)

开启通用查询日志:
set global general_log = on;

关闭通用查询日志:
set global general_log = off;
配置文件中进行配置:

开启日志
general_log =1
日志位置
general_log_file =/data/mysql_data/query.log
查询日志记录了所有的查询记录: 平时建议关闭,浪费空间

[root@mysql8 etc]# cat /data/mysql_data/query.log
/usr/local/mysql/bin/mysqld, Version: 8.0.24 (MySQL Community Server - GPL). started with:
Tcp port: 3306  Unix socket: /data/mysql_data/mysql.sock
Time                 Id Command    Argument
2023-07-30T08:49:14.667682+08:00            8 Connect   root@localhost on  using Socket
2023-07-30T08:49:14.667879+08:00            8 Query     select @@version_comment limit 1
2023-07-30T08:49:21.131935+08:00            8 Query     SHOW VARIABLES LIKE '%general%'
2023-07-30T08:50:51.850248+08:00            8 Query     show databases
2023-07-30T08:50:56.199913+08:00            8 Query     SELECT DATABASE()
2023-07-30T08:50:56.200093+08:00            8 Init DB   hr
2023-07-30T08:50:56.200584+08:00            8 Query     show databases
2023-07-30T08:50:56.200947+08:00            8 Query     show tables
2023-07-30T08:50:56.202286+08:00            8 Field List        aa
2023-07-30T08:50:56.205612+08:00            8 Field List        demp
2023-07-30T08:50:56.206189+08:00            8 Field List        demp1
2023-07-30T08:50:56.206691+08:00            8 Field List        departments
2023-07-30T08:50:56.207686+08:00            8 Field List        employees
2023-07-30T08:50:56.207961+08:00            8 Field List        tb_cs
2023-07-30T08:50:56.207997+08:00            8 Field List        tb_score
2023-07-30T08:50:56.208365+08:00            8 Field List        test_mim
2023-07-30T08:50:56.208624+08:00            8 Field List        testable
2023-07-30T08:51:08.537437+08:00            8 Query     show databases
2023-07-30T08:51:17.392536+08:00            8 Query     select * from mysql
2023-07-30T08:51:29.702097+08:00            8 Query     SELECT DATABASE()
2023-07-30T08:51:29.702263+08:00            8 Init DB   test
2023-07-30T08:51:29.702737+08:00            8 Query     show databases
2023-07-30T08:51:29.703097+08:00            8 Query     show tables
2023-07-30T08:51:29.703516+08:00            8 Field List        emp
2023-07-30T08:51:35.461386+08:00            8 Query     show tables
2023-07-30T08:51:41.102095+08:00            8 Query     select * from emp
2023-07-30T08:58:54.674562+08:00            8 Query     SHOW VARIABLES LIKE '%general%'

3、二进制日志(Binary log)

MySQL 的二进制日志(binary log)是一个二进制文件,主要用于记录修改数据或有可能引起数据变更的 SQL 语句。二进制日志(binary log)中记录了对 MySQL 数据库执行更改的所有操作并且记录了语句发生时间、执行时长、操作数据等其它额外信息,但是它不记录 SELECT、SHOW 等那些不修改数据的 SQL 语句。二进制日志(binary log)主要用于数据库恢复和主从复制,以及审计(audit)操作

3、1 查看是否开启二进制日志

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+
1 row in set (0.00 sec)

系统变量log_bin的值为OFF表示没有开启二进制日志(binary log)。ON表示开启了二进制日志(binary log)

3、2二进制日志开启

查看系统变量log_bin,如果其值为OFF,表示没有开启二进制日志(binary log),如果需要开启二进制日志,则 在my.cnf中[mysqld]下面添加log-bin [=DIR[filename]] ,DIR参数指定二进制文件的存储路径;filename参数指定二级制文件的文件名。 其中filename可以任意指定,但最好有一定规范。

3、3查看二进制文件位置

mysql> show variables like 'datadir';
+---------------+-------------------+
| Variable_name | Value             |
+---------------+-------------------+
| datadir       | /data/mysql_data/ |
+---------------+-------------------+

二进制文件存储位置:/data/mysql_data/

MySQL物理文件----日志文件(错误日志、通用查询日志、二进制日志、慢查询日志),mysqlcop,Linux操作mysql,mysql数据库高级知识,mysql,android,数据库

3、4二进制日志(Binary log) 的操作语句

/删除所有二进制日志文件:/
reset master

/删除部分二进制日志文件:/
purge master logs to/befor ‘args’;
例如:
PURGE MASTER LOGS TO ‘mysql-bin.010’;
PURGE MASTER LOGS BEFORE ‘2021-06-02 22:46:26’;

/查看是否启用二进制日志:/
show variables like ‘%log_bin%’;

/查看所有的二进制日志参数/
show variables like ‘%binlog%’;

/查看文件的位置/
show variables like ‘%datadir%’;

/查看当前服务器所有的二进制日志文件/
show binary logs;
show master logs;

4、 慢查询日志(Slow query log)

记录所有执行时间超过 long_query_time 秒的查询 SQL 或者没有使用索引的查询 SQL,默认情况下,MySQL 不开启慢查询日志,

1.long_query_time值查询语句: show variables like ‘long_query_time’;
2.long_query_time值修改语句: set long_query_time = 秒数;

/查看当前慢查询日志的开启情况:/
show variables like ‘%query%’;

mysql> show variables like '%query%';
+------------------------------+-------------------------------------+
| Variable_name                | Value                               |
+------------------------------+-------------------------------------+
| binlog_rows_query_log_events | OFF                                 |
| ft_query_expansion_limit     | 20                                  |
| have_query_cache             | NO                                  |
| long_query_time              | 1.000000                            |
| query_alloc_block_size       | 8192                                |
| query_prealloc_size          | 8192                                |
| slow_query_log               | ON                                  |
| slow_query_log_file          | /data/mysql_log/mysql-slow-3306.log 

slow_query_log:ON 表示开启慢查询日志,OFF 表示关闭慢查询日志

slow_query_log_file:记录慢查询日志的文件地址(默认为主机名.log)

long_query_time:指定了慢查询的阈值,单位是秒,即执行语句的时间若超过这个值则为慢查询语句

log_queries_not_using_indexes:ON 表示会记录所有没有利用索引来进行查询的语句,前提是 slow_query_log 的值也是 ON,否则,不会奏效,OFF 表示不会记录所有没有利用索引来进行查询的语句。文章来源地址https://www.toymoban.com/news/detail-551590.html

到了这里,关于MySQL物理文件----日志文件(错误日志、通用查询日志、二进制日志、慢查询日志)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL 日志之二进制日志-binlog

    1、简介         MySQL 的二进制日志记录了对 MySQL 所有的更改操作,不包括 select 和 show 等操作。二进制日志文件主要有:数据恢复、主从复制、审计(判断是否有注入攻击)等作用。 2、二进制日志参数配置 2.1、文件参数配置         linux 中 MySQL的配置文件在 /etc/my.cnf,通

    2024年01月21日
    浏览(64)
  • mysql三大日志—— 二进制日志binlog

    binlog用于记录数据库执行的写入性操作,是一种 逻辑日志 ,binlog 处于服务层 ,通过 追加写入 的方式以二进制的形式保存在磁盘中。 binlog主要用于 主从复制 和数据恢复。 主从复制:在主机端开启binlog日志管理,主机将binlog日志发送到各个从机,从机来读取binlog文件来做到

    2024年02月13日
    浏览(45)
  • MySQL运维15-二进制日志

    二进制日志包含了所有更新了数据或已经潜在更新了数据的语句及执行时间。语句以“事件”(event)的形式保存,它描述了数据的更改信息。 二进制日志不包含没有修改任何数据的语句。如果想要记录所有的语句(例如,为了识别有问题的查询),应该使用通用日志。 用于

    2023年04月18日
    浏览(61)
  • 开启MySQL二进制日志(binlog)

    前言 binlog即二进制日志 Binary Log,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说开启二进制日志大概会有一定的性能损耗。 二进制日志有两个最重要的使用场景: Mysql主从复制

    2023年04月09日
    浏览(62)
  • 将Swift Package构建为通用二进制文件 Universal Binary

      因此,在苹果在WWDC 2020期间宣布他们将把Mac从英特尔处理器过渡到苹果硅之后,现在是时候让每个人都准备好他们的软件了。 对大多数人来说,这次过渡可能更容易一些,特别是那些已经在iOS上支持arm64的人,但仍有工作要做,以确保工具和预编译的发行版支持使用Apple

    2024年02月11日
    浏览(45)
  • 第81讲:清理MySQL Binlog二进制日志的方式

    Binlog日志非常重要,但是占用的磁盘空间也很大,我们也需要定期的去清理二进制日志,在MySQL数据库中,提供了自动清理Binlog日志的参数,根据指定的天数,保留n天内的Binlog日志,也可以手动人为删除。 在手动删除Binlog日志时,要切记不要使用rm -rf直接删除Binlog,会导致主

    2024年02月04日
    浏览(48)
  • 图文结合带你搞懂MySQL日志之Binary log(二进制日志)

    往期回顾 图文结合带你搞定MySQL日志之Undo log(回滚日志) 图文结合带你搞懂InnoDB MVCC 图文结合带你搞懂MySQL日志之Redo Log(重做日志) 图文结合带你搞懂MySQL日志之Error Log(错误日志) 图文结合带你搞懂MySQL日志之Slow Query Log(慢查询日志) 图文结合带你搞懂MySQL日志之relay log(中

    2024年02月07日
    浏览(67)
  • MySQL主从复制基于二进制日志的高可用架构指南

    在现代数据库架构中,MySQL主从复制技术扮演着重要角色。它不仅可以提升数据库性能和可扩展性,还赋予系统卓越的高可用性和灾难恢复能力。本文将深入剖析MySQL主从复制的内部机制,同时通过一个实际案例,展示其在实际场景中的强大作用。 MySQL主从复制基于二进制日志

    2024年02月13日
    浏览(58)
  • 第78讲:截取MySQL Binlog二进制日志中特定部分内容的技巧

    我们通过Binlog二进制日志恢复数据时,一般都会先用备份恢复全库的数据,然后再使用Binlog恢复备份中不存在的数据,因此再使用Binlog进行数据恢复时,并不是直接恢复整个Binlog日志中的数据,只是恢复Binlog中的部分数据。 根据特定的情况以及需求去恢复Binlog日志中的数据时

    2024年02月03日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包