MySQL 日志

目录

一、日志概述

二、二进制日志

1、开启二进制日志

2、查看二进制文件

3、删除二进制日志文件

4、恢复二进制日志

5、暂时停止二进制日志功能

三、错误日志

1、启动和设置错误日志

2、查看错误日志

3、删除错误日志

四、通用查询日志

五、慢查询日志


一、日志概述

MySQL日志记录了MySQL数据库日常操作和错误信息。MySQL有不同类型的日志文件(各自存储了不同类型的日志),从日志当中可以查询到MySQL数据库的运行情况、用户操作、错误信息等,可以为MySQL管理和优化提供必要的信息。对于MySQL的管理工作而言,这些日志文件是不可缺少的。

日志分为4类:

1)错误日志:记录MySQL服务的启动、运行或停止MySQL服务时出现的问题。

2)查询日志:记录建立的客户端连接和执行的语句。

3)二进制日志:记录所有更改数据的语句,可以用于数据复制

4)慢查询日志:记录所有执行时间超过long_query_time的所有查询或不适用索引的查询。

二、二进制日志

1、开启二进制日志

在/etc/my.cnf文件【mysqld】标签下输入如下命令

#第一步
[root@master ~]# vim /etc/my.cnf
#第二步--在该文件里添加
log-bin=[mysql-bin]
server_id=100

server_id=[服务器序号任意,但是不能重复]。

 然后再重启mysqld服务器

[root@master ~]# systemctl restart mysqld

查看服务i进程状态----log_bin

mysql> show variables like 'log_%';
+----------------------------------------+----------------------------------+
| Variable_name                          | Value                            |
+----------------------------------------+----------------------------------+
| log_bin                                | ON                               |
| log_bin_basename                       | /var/lib/mysql/[mysql-bin]       |
| log_bin_index                          | /var/lib/mysql/[mysql-bin].index |
| log_bin_trust_function_creators        | OFF                              |
| log_bin_use_v1_row_events              | OFF                              |
| log_builtin_as_identified_by_password  | OFF                              |
| log_error                              | /var/log/mysqld.log              |
| log_error_verbosity                    | 3                                |
| log_output                             | FILE                             |
| log_queries_not_using_indexes          | OFF                              |
| log_slave_updates                      | OFF                              |
| log_slow_admin_statements              | OFF                              |
| log_slow_slave_statements              | OFF                              |
| log_statements_unsafe_for_binlog       | ON                               |
| log_syslog                             | OFF                              |
| log_syslog_facility                    | daemon                           |
| log_syslog_include_pid                 | ON                               |
| log_syslog_tag                         |                                  |
| log_throttle_queries_not_using_indexes | 0                                |
| log_timestamps                         | UTC                              |
| log_warnings                           | 2                                |
+----------------------------------------+----------------------------------+
21 rows in set (0.00 sec)

2、查看二进制文件

mysql> show binary logs;
+--------------------+-----------+
| Log_name           | File_size |
+--------------------+-----------+
| [mysql-bin].000001 |       154 |
+--------------------+-----------+
1 row in set (0.01 sec)

3、删除二进制日志文件

1)删除所有二进制日志文件

reset master;

2) 删除指定的二进制日志文件

#第一种删除指定二进制文件
purge {master | binany} logs to '日志文件名';
#第二种删除指定日期之前的所有日志文件
purge {master | binany} logs before '日期';

4、恢复二进制日志

基本语法

mysqlbinlog [option] 日志文件名 | mysql -u用户名 -p密码

option重要参数:

--start-date、--stop-date:可以指定恢复数据库的起始时间和结束时间。

--start-position、-stop-position:可以指定恢复数据的开始位置和结束位置。

5、暂时停止二进制日志功能

语法

set sql_log_bin=0   #暂停
set sql_log_bin=1   #恢复

三、错误日志

1、启动和设置错误日志

在/etc/my.cnf文件【mysqld】标签下输入如下命令

#第一步
[root@master ~]# vim /etc/my.cnf
#第二步--在该文件里添加
log-error=[存放路径]

配置完保存,再重启mysql服务。

2、查看错误日志

语法

show variables like '%log_error%';

3、删除错误日志

mysqladmin -u root -p密码 'flush-logs';

 需要在服务器客户端进行

例如

[root@master ~]# mysqladmin -u root -pRedHat@123 'flush-logs';
mysqladmin: [Warning] Using a password on the command line interface can be insecure.

四、通用查询日志

启动和设置通用查询日志

在/etc/my.cnf文件【mysqld】标签下输入如下命令

#第一步
[root@master ~]# vim /etc/my.cnf
#第二步--在该文件里添加
[mysqld]
log=[存放路径]

配置完保存,再重启mysql服务。

五、慢查询日志

MySQL如果启用了 slow_query_log=ON 选项,就会记录执行时间超过long_query_time的查询(初使 表锁定的时间不算作执行时间)。日志记录文件为slow_query_log_file[=file_name],如果没有给出 file_name值, 默认为主机名,后缀为-slow.log。如果给出了文件名,但不是绝对路径名,文件则写入 数据目录。

# 默认没有启用慢查询,为了服务器调优,建议开启
mysql> SHOW GLOBAL VARIABLES LIKE '%slow_query_log%';
# 开启方法,当前生效,永久有效配置文件中设置
SET GLOBAL slow_query_log=ON;
# 使用 mysqldumpslow 命令获得日志中显示的查询摘要来处理慢查询日志
# mysqldumpslow slow.log
# 那么多久算是慢呢?
# 如果查询时长超过long_query_time的定义值(默认10秒),即为慢查询:
mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time';

日志会影响MySQL的性能,又会占用大量磁盘空间,所有在有需要的时候才开启对于日志,例如在开发环境中优化查询效率低的语句,可以开启慢查询日志,如果需要记录用户的所有插叙操作,可以开启通用查询日志,如果需要记录数据的变更,可以开启二进制日志;错误日志时默认开启的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/83898.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何实现24/7客户服务自动化?建设智能客服知识库

客户自助服务是指用户通过企业或者第三方建立的网络平台或者终端,实现相关的自定义处理。实现客户服务自动化,对提高客户满意度、维持客户关系至关重要。客户服务自动化可以帮助企业以更快的速度和更高的效率来满足客户的售后服务要求,以进一…

红利期已过?2023跨境电商还吃香吗?亚马逊还能做吗?

2022年,由于疫情反复和外部因素的影响,跨境电商的情况并不乐观。但这并不意味着跨境电商已经走到了绝境。随着贸易全球化的深入发展,平台规则不断完善,国家相继出台最新的扶持政策,为跨境电商企业带来了更多的发展机遇…

1.1 VMware Workstation与Kali的安装和配置1

资源见专栏第一篇文章https://blog.csdn.net/algorithmyyds/article/details/132457258 安装VMware 不多加赘述,直接按顺序安装即可。 有以下需注意的地方: 1.建议选择增强型服务; 2.不要加入体验改进计划。是否开启提示更新看你的想法&…

Java数据结构学习和源码阅读(线性数据结构)

线性数据结构 链表 LinkList 链表的数据结构 一组由节点组成的数据结构,每个元素指向下一个元素,是线性序列。 最简单的链表结构: 数据指针(存放执行下一个节点的指针) 不适合的场景: 需要循环遍历将…

JVM及垃圾回收机制

文章目录 1、JVM组成?各部分作用?1.1 类加载器(Class Loaders)1.2 运行时数据区(Runtime Data Area)1.3 执行引擎(Execution Engine)1.4 本地方法接口(Native Interface&…

C++二叉树进阶

本期内容我们讲解二叉树的进阶知识,没有看过之前内容的小伙伴建议先看往期内容 二叉树-----补充_KLZUQ的博客-CSDN博客 目录 二叉搜索树 代码实现 基础框架 Insert Find Erase 析构函数 拷贝构造 赋值 二叉搜索树的应用 全部代码 二叉搜索树 二叉搜索树…

【算法系列篇】前缀和

文章目录 前言什么是前缀和算法1.【模板】前缀和1.1 题目要求1.2 做题思路1.3 Java代码实现 2. 【模板】二维前缀和2.1 题目要求2.2 做题思路2.3 Java代码实现 3. 寻找数组的中心下标3.1 题目要求3.2 做题思路3.3 Java代码实现 4. 除自身以外的数组的乘积4.1 题目要求4.2 做题思…

实验九 根文件系统移植

【实验目的】 熟悉根文件系统的目录结构,构建自己的根文件系统 【实验环境】 ubuntu 14.04 发行版FS4412 实验平台交叉编译工具:arm-none-linux-gnueabi- 【注意事项】实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行 【实验步骤】 一、构建自…

XXL-JOB

XXL-JOB是一个分布式的任务调度平台。 目的:为了自动完成特定的任务,在约定的特定时间去执行任务的过程。 原因:在spring中有scheduled,放到业务层代码上面也可以。但是其无法做到高可用、防止重复执行,单机处理极限…

Java项目-苍穹外卖-Day06-微信小程序开发

文章目录 前言1.HttpClienthttpclient是什么入门案例发送GET请求发送POST请求Httpclient工具类 2.微信小程序介绍准备工作注册小程序和完善对应信息下载开发者工具 入门案例 前言 本篇主要是主要是wx小程序开发入门和HttpClient的使用介绍 完成了苍穹外卖用户端的 微信登陆 和…

记录一个用C#实现的windows计时执行任务的服务

记录一个用C#实现的windows计时执行任务的服务 这个服务实现的功能是每天下午六点统计一次指定路径的文件夹大小 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.IO; using Syst…