MySQL数据库——MySQL错误日志(Error Log)详解

news/2024/11/14 13:06:18/

错误日志(Error Log)是 MySQL 中最常用的一种日志,主要记录 MySQL 服务器启动和停止过程中的信息、服务器在运行过程中发生的故障和异常情况等。

作为初学者,要学会利用错误日志来定位问题。下面介绍如何操作查看错误日志。

启动和设置错误日志

在 MySQL 数据库中,默认开启错误日志功能。一般情况下,错误日志存储在 MySQL 数据库的数据文件夹下,通常名称为 hostname.err。其中,hostname 表示 MySQL 服务器的主机名。

在 MySQL 配置文件中,错误日志所记录的信息可以通过 log-error 和 log-warnings 来定义,其中,log-err 定义是否启用错误日志功能和错误日志的存储位置,log-warnings 定义是否将警告信息也记录到错误日志中。

将 log_error 选项加入到 MySQL 配置文件的 [mysqld] 组中,形式如下:

[mysqld]
log-error=dir/{filename}

其中,dir 参数指定错误日志的存储路径;filename 参数指定错误日志的文件名;省略参数时文件名默认为主机名,存放在 Data 目录中。

重启 MySQL 服务后,参数开始生效,可以在指定路径下看到 filename.err 的文件,如果没有指定 filename,那么错误日志将直接默认为 hostname.err。

注意:错误日志中记录的并非全是错误信息,例如 MySQL 如何启动 InnoDB 的表空间文件、如何初始化自己的存储引擎等,这些也记录在错误日志文件中。

查看错误日志

错误日志中记录着开启和关闭 MySQL 服务的时间,以及服务运行过程中出现哪些异常等信息。如果 MySQL 服务出现异常,可以到错误日志中查找原因。

在 MySQL 中,通过 SHOW 命令可以查看错误日志文件所在的目录及文件名信息。

mysql> SHOW VARIABLES LIKE 'log_error';
+---------------+----------------------------------------------------------------+
| Variable_name | Value                                                          |
+---------------+----------------------------------------------------------------+
| log_error     | C:\ProgramData\MySQL\MySQL Server 5.7\Data\LAPTOP-UHQ6V8KP.err |
+---------------+----------------------------------------------------------------+
1 row in set, 1 warning (0.04 sec)

错误日志以文本文件的形式存储,直接使用普通文本工具就可以查看。这里通过记事本打开,从上面可以知道错误日志的文件名。该文件在默认的数据路径“C:\ProgramData\MySQL\MySQL Server 5.7\Data\”下,打开 LAPTOP-UHQ6V8KP.err 文件,部分内容如下:

190906 22:06:45 InnoDB: Completed initialization of buffer pool
190906 22:06:45 InnoDB: highest supported file format is Barracuda.
190906 22:06:45  InnoDB: Waiting for the background threads to start
190906 22:06:46 InnoDB: 5.7.29 started; log sequence number 1605345
190906 22:06:47 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
190906 22:06:47 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
190906 22:06:47 [Note] Server socket created on IP: '0.0.0.0'.
190906 22:06:47 [Note] Event Scheduler: Loaded 0 events
190906 22:06:47 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.7.29-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server (GPL)

以上是错误日志文件的一部分,主要记载了系统的一些运行错误。

删除错误日志

在 MySQL 中,可以使用 mysqladmin 命令来开启新的错误日志,以保证 MySQL 服务器上的硬盘空间。mysqladmin 命令的语法如下:

mysqladmin -uroot -p flush-logs

执行该命令后,MySQL 服务器首先会自动创建一个新的错误日志,然后将旧的错误日志更名为 filename.err-old。

MySQL 服务器发生异常时,管理员可以在错误日志中找到发生异常的时间、原因,然后根据这些信息来解决异常。对于很久之前的错误日志,查看的可能性不大,可以直接将这些错误日志删除。

黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括


http://www.ppmy.cn/news/81584.html

相关文章

AcrelCloud-6000安全用电云平台在某景区的应用

摘要 我国历史文化悠久,拥有相当丰富的历史文化遗产,而古建筑作为文化遗产的重要组成部分,体现着中华民族的生命力和创造力,蕴含了丰富的物质价值和精神价值。根据国家文物局近些年公布的数据,每年都发生十多起文物建筑…

ChatGPT工作提效之生成开发需求和报价单并转为Excel格式

ChatGPT工作提效之生成开发需求和报价单并转为Excel格式 一、提出需求如何撰写百度地图标注开发的需求文档 二、针对性地连续提问推荐下一下百度地图标注文档的详细需求列表如何撰写百度地图标注开发的技术规范如何确定百度地图标注开发后的部署计划... 三、生成报价单四、运营…

若依源码解析:pagehelper和mybaties进行分页

文章目录 若依分页使用示例startPage()方法介绍PageHelper.startPage方法介绍封装分页对象 com.github.pagehelper介绍集成和使用 com.github.pagehelperPageInterceptor进行拦截并执行分页sql 若依分页使用示例 PreAuthorize("ss.hasPermi(system:dict:list)")GetM…

C语言中实现异常处理的尝试

C语言中实现异常处理的尝试 在 C 语言中,由于缺少内置的异常处理机制,需要开发者在代码中使用一些技巧来实现安全的异常处理。以下是一些建议,可以帮助开发者在 C 语言中实现安全的异常处理: 错误处理函数: 开发者可…

利用列表推导式遍历子目录PDF文件

一、问题的提出 之前,我们探索了如何用Python来遍历子目录文件,详情可以见下面的文章: PythonFan:Python遍历子目录文件的多种方法5 赞同 0 评论文章正在上传…重新上传取消https://zhuanlan.zhihu.com/p/609327324 以上方面有…

065:cesium设置带有箭头的线材质(material-9)

第065个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置带有箭头的线材质,请参考源代码,了解PolylineArrowMaterialProperty的应用。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共82行)相关API参考…

红米8a,刷机到安卓调用之路

什么是BL锁? https://baijiahao.baidu.com/s?id1614459630284912892&wfrspider&forpc bl锁简单来说,就是厂商为了自己的目的,为了避免刷机,而人为设置的一道障碍,我的第一步就需要等待168小时,经…

opencv图像增强实现方法

opencv是一款开源的图像增强工具,主要用于在 python环境下实现图像增强功能。 使用 opencv实现图像增强,需要使用 opencv的 GUI模块,如图1所示。 在 opencv中,有一个 datasets模块,这个模块主要用于处理数据和可视化操…