网站首页 > 技术文章 正文
本文出自头条号老王谈运维,转载请说明出处。
日志文件是MySQL数据库的重要组成部分,包括有6种不同的日志文件:
- 错误日志: -log-err
- 查询日志: -log
- 慢查询日志: -log-slow-queries
- 更新日志: -log-update
- 二进制日志: -log-bin
这些日志可以帮助我们定位 mysqld 内部发生的事件,数据库性能故障,记录数据的变更历史,用户恢复数据库等。本文主要讲解错误日志文件(Error Log)相关内容。
什么是错误日志
错误日志记录了 MySQL Server 每次启动和关闭的详细信息以及运行过程中所有较为严重的警告和错误信息。错误日志的命名通常为「hostname.err」。
PS:「hostname」表示服务器主机名。
在实际工作中,我们不仅通过分析MySQL错误日志来确定MySQL中的慢SQL,还可以通过它分析得到导致业务崩溃和其他故障的根本原因。
查看错误日志的位置
我们可以用--log-error[=file_name]选项来开启 mysql 错误日志,该选项指定 mysqld保存错误日志文件的位置。
对于指定--log-error[=file_name]选项而未给定 file_name 值,mysql 使用错误日志名host_name.err 并在数据目录中写入日志文件。
修改错误日志的位置
错误日志所记录的信息也可以通过log-error和log-warnings来定义,其中
- log_error可定义是否启用错误日志的功能和错误日志的存储位置
- log-warnings可定义是否将警告信息也定义至错误日志中
可以在启动MySQL时,指定log_error的值。如下所示:
了解了MySQL错误日志位置以及如何修改其位置,下面简单举例一个实践操作的过程:
Linux 系统下打开 MySQL 错误日志
1、进「mysql」安装目录
进入「data」目录(该目录存储的是数据库的数据)。
2、进入「data」目录后可发现有「mysql」、「test」两个子目录(由此可看出 MySQL 数据存储是按用户定义的不同数据库分开存储的)。
3、进入「mysql」目录,文件后缀为.err 的文件是运行的错误日志,可以使用 vi 命令打开进行分析。
然而,在云计算普遍使用的今天,企业在关注低成本的同时也注重高效率,在云数据库上除了传统的查看方式,是否有更便捷的工具可以帮助我们定位错误日志呢?
答案:必须有!
给大家推荐实用的运维工具——王教授,对于使用云(阿里云、腾讯云、AWS)的用户,只需要绑定监控的AcessKey,即可对资产进行监控、检查。对于上述场景,他将在发现云数据库存在日志错误时,立即给出告警通知,提醒我们排查错误日志产生的原因及时处理,从而保证业务的正常运行。
不仅如此,王教授还可以帮助我们展示云资源实时的使用情况,以及针对发现的问题以及未来潜在的风险以告警的方式通知到个人。
需要的同学可以查看工具地址使用:https://www.prof.wang/
网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?
加入[IT拯救联盟],让大牛和同伴拯救你,带你装x带你飞。定期干货分享、大牛专业解答、实用IT工具优选.....
私信小编“联盟”,即可加入我们~
猜你喜欢
- 2024-10-20 如何在 CentOS7 下改造MySQL开机启动服务?
- 2024-10-20 MySQL日志篇(mysql的日志文件在哪里)
- 2024-10-20 小白自学MySQL笔记(一):Mac环境的安装和启动
- 2024-10-20 MySQL执行计划主要通过EXPLAIN命令来查看
- 2024-10-20 MySQL service启动脚本浅析(r12笔记第59天)
- 2024-10-20 借助shell脚本,解决MySQL服务自动停止的问题
- 2024-10-20 MySQL 还在跑任务时,突然断电,数据库崩了又好像没崩……
- 2024-10-20 超详细的mysql数据库查询缓存总结,值得收藏
- 2024-10-20 一文看懂mysql数据库本质及存储引擎innodb+myisam
- 2024-10-20 MySQL慢查询开启与跟踪(mysql查询缓慢原因和解决方案)
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)