MySQL 日志

这篇具有很好参考价值的文章主要介绍了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=[服务器序号任意,但是不能重复]。

MySQL 日志,数据库,mysql,数据库

 然后再重启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的性能,又会占用大量磁盘空间,所有在有需要的时候才开启对于日志,例如在开发环境中优化查询效率低的语句,可以开启慢查询日志,如果需要记录用户的所有插叙操作,可以开启通用查询日志,如果需要记录数据的变更,可以开启二进制日志;错误日志时默认开启的。文章来源地址https://www.toymoban.com/news/detail-677986.html

到了这里,关于MySQL 日志的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【MySQL高级篇笔记-其他数据库日志(下) 】

    此笔记为尚硅谷MySQL高级篇部分内容 目录 一、MySQL支持的日志 1、日志类型 2、日志的弊端 二、慢查询日志(slow query log) 三、通用查询日志(general query log) 1、问题场景  2、查看当前状态 3、启动日志 方式 1 :永久性方式 方式2:临时性方式  4、查看日志 5、停止日志 方式1:永

    2024年02月08日
    浏览(147)
  • MySQL-备份+日志:介质故障与数据库恢复

    本关任务: 备份数据库,然后再恢复它。 为了完成本关任务,你需要掌握: 1.MySQL的恢复机制; 2.MySQL提供的备份与恢复工具。 和大多数DBMS一样,MySQL利用备份、日志文件实现恢复。 具体理论知识在此不详细介绍。 MySQL提供了以下工具: 逻辑备份工具:mysqldump 物理备份工具

    2024年02月05日
    浏览(89)
  • 阿里云日志服务Logstore与MySQL数据库关联

    已采集日志到日志服务。更多信息,请参见数据采集。 已为日志字段创建索引。更多信息,请参见创建索引。 已有可用的MySQL数据库。更多信息,请参见创建数据库和账号。 1、在MySQL数据库中,创建用户属性表(即 chiji_user 表)。 2、添加白名单。如果是rds,设置ip白名单;

    2024年02月10日
    浏览(47)
  • 在Windows系统中配置开启MySQL数据库日志的步骤

            1.首先Win+R,打开命令运行框,输入cmd打开终端窗口。           2.输入指令mysql -u root -p回车输入密码进入mysql数据库。          3.输入:show global variables like\\\'log_bin\\\';  这里注意一定要带上“;”,回车后查看MySQL的log日志是否已近开启,若是开启状态则会如下图

    2024年02月09日
    浏览(60)
  • 开源数据库Mysql_DBA运维实战 (DCL/日志)

      SQL(Structured Query Language 即结构化查询语言) a.DDL语句   数据库定义语言: 数据库,表,视图,索引,存储过程,函数,创建删除ALTER(CREATE DROP ALTER)  b.DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE c.DQL语句   数据库查询语言:查询数据SELECT d.

    2024年02月12日
    浏览(84)
  • mysql-DBA(1)-数据库备份恢复-导入导出-日志解释

    log: hdd data :ssd  ,备份和导出都慢,缓冲池有污染。 逻辑备份:把所有的命令转换成sql语句。 修改配置文件: -A 备份所有 -B 备份哪个数据库 --master-data=1 同步 内容: 备份参数: 1.备份成文件,里面就是sql语句 2.routine: 3.trigger 触发器 4.event: 定时任务 5.-B 数据库 1.有-B 表

    2024年03月09日
    浏览(71)
  • 第77讲:二进制方式搭建MySQL数据库5.7版本以及错误日志管理

    前面是使用的yum的方式安装的MySQL数据库,在企业生产环境中大多数都用二进制方式安装。 本次使用二进制方式搭建MySQL 5.7.36版本。 1.1.下载MySQL5.7版本的二进制文件 1.2.创建mysql用户管理MySQL服务

    2024年02月03日
    浏览(64)
  • Flink-CDC——MySQL、SqlSqlServer、Oracle、达梦等数据库开启日志方法

    目录 1. 前言 2. 数据源安装与配置 2.1 MySQL 2.1.1 安装 2.1.2 CDC 配置 2.2 Postgresql 2.2.1 安装 2.2.2 CDC 配置 2.3 Oracle 2.3.1 安装 2.3.2 CDC 配置 2.4 SQLServer 2.4.1 安装 2.4.2 CDC 配置 2.5达梦 2.4.1安装 2.4.2CDC配置 3. 验证 3.1 Flink版本与CDC版本的对应关系 3.2 下载相关包 3.3 添加cdc jar 至lib目录 3.4 验

    2024年02月05日
    浏览(59)
  • 在.net中通过自定义LoggerProvider将日志保存到数据库方法(以mysql为例)

      在.NET中, Microsoft.Extensions.Logging是一个灵活的日志库,它允许你将日志信息记录到各种不同的目标,包括数据库。在这个示例中,我将详细介绍如何使用Microsoft.Extensions.Logging将日志保存到MySQL数据库。我们将使用Entity Framework Core来与MySQL数据库进行交互。 首先,我们需要创

    2024年02月05日
    浏览(47)
  • 【MySQL 】MySQL 创建数据库, MySQL 删除数据库,MySQL 选择数据库

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: 以下命令简单的演示了创建数据库的过程,

    2024年02月13日
    浏览(92)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包