MySQL 基础---日志管理

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: MySQL软件中的日志操作:日志的含义启动日志文件查看日志文件停止日志文件删除日志文件支持的日志文件二进制日志: 该日志文件会以二进制形式记录数据库的各种操作,但是却不记录查询语句。

MySQL软件中的日志操作:

  • 日志的含义
  • 启动日志文件
  • 查看日志文件
  • 停止日志文件
  • 删除日志文件
  1. 支持的日志文件
  • 二进制日志: 该日志文件会以二进制形式记录数据库的各种操作,但是却不记录查询语句。
  • 错误日志: 该日志文件会记录MySQL服务器启动、关闭和运行时出错等信息。
  • 通用查询日志: 该日志记录MySQL服务器的启动和关闭信息、客户端的连接信息、更新数据记录SQL语句和查询数据记录SQL语句。
  • 慢查询日志: 记录执行时间超过指定时间的各种操作,通过工具分析慢查询日志可以定位MySQL服务器性能瓶颈所在。
  1. 操作二进制日志
    (1) 启动二进制日志
  • 打开my.ini配置文件,在[mysqld]组里添加相应语句
[mysqld]
log-bin或log-bin=D:\mysqllog\binlog

(2) 查看二进制日志

mysqlbinlog binlog.000001

(3) 停止二进制日志

# 实现暂时停止二进制日志,0代表停止,1代表开启。
set sql_log_bin=0

(4) 删除二进制日志

#删除全部二进制日志
reset master;
# 删除编号小于number的所有二进制文件
purge master logs to filename.numer
# 删除指定时间之前所创建的所有二进制文件
purge master logs before 'yyyy-mm-dd hh:MM:ss'
  1. 操作错误日志
    (1) 启动错误日志
    默认是开启的,并且无法禁止。错误日志文件通常的名称格式为hostname.err,默认在data目录下。
    修改错误日志的存放目录,可以通过设置MySQL服务器的配置文件my.ini来实现:
[mysqld]
error-bin[=dir\[filename]]

(2) 查看错误日志
找到错误日志,并用普通文本工具打开即可。
(3) 删除错误日志

# 首先会创建一个新的错误日志,然后将旧的错误日志更名为filename.err-old。如果数据库管理员认为旧的没有用处,则可以直接删除。
mysqladmin -u root -p flush-logs
img_e7ee24a647cc2343769e3e43eb5a0018.png
错误日志.png
  1. 通用查询日志
    (1) 启用通用查询日志
    设置MySQL服务器的配置文件my.ini实现,默认保存目录,数据库数据文件里,后缀名为.log。
[mysqld]
log[=dir\[filename]]

(2) 查看通用查询日志
普通文本查看即可
(3) 停止通用查询日志
删除MySQL服务器的配置文件my.ini中的log配置
(4) 删除通用查询日志

# 直接删除日志
mysqladmin -u root -p flush-logs
  1. 慢查询日志
    (1) 启动慢查询日志
    默认是关闭的 ,通过设置MySQL服务器的配置文件my.ini来实现。默认保存在数据库文件中,参数n单位为秒,如果没有设置long_query_time选项,默认时间为10秒。
[mysqld]
log-slow-queries=[=dir\[filename]]
long_query_time=n

(2) 查看慢查询日志
普通文本编辑器打开即可
(3) 分析慢查询日志
查看慢查询次数最多的语句或者慢查询时间最长的语句,对应的工具为mysqldumpslow.pl(需要perl语言环境,下载地址),常用参数:

  • “-s”为分析慢查询日志时指定排序参数,可选的有“al”(表示平均锁定时间),“ar”(表示平均返回记录数),“at”(表示平均查询时间)。
  • “-t”参数表示只显示指定的行数。
    (4) 停止慢查询
    启动配置出将其注释
    (5) 删除慢查询日志
# 先删除慢查询日志文件,再重新刷新慢查询日志
mysqladmin -u root -p flush-logs
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
4月前
|
SQL 监控 关系型数据库
MySQL日志分析:binlog、redolog、undolog三大日志的深度探讨。
数据库管理其实和写小说一样,需要规划,需要修订,也需要有能力回滚。理解这些日志的作用与优化,就像把握写作工具的使用与运用,为我们的数据库保驾护航。
196 23
|
6月前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
487 90
|
5月前
|
SQL 运维 关系型数据库
MySQL Binlog 日志查看方法及查看内容解析
本文介绍了 MySQL 的 Binlog(二进制日志)功能及其使用方法。Binlog 记录了数据库的所有数据变更操作,如 INSERT、UPDATE 和 DELETE,对数据恢复、主从复制和审计至关重要。文章详细说明了如何开启 Binlog 功能、查看当前日志文件及内容,并解析了常见的事件类型,包括 Format_desc、Query、Table_map、Write_rows、Update_rows 和 Delete_rows 等,帮助用户掌握数据库变化历史,提升维护和排障能力。
|
6月前
|
存储 SQL 关系型数据库
mysql的undo log、redo log、bin log、buffer pool
MySQL的undo log、redo log、bin log和buffer pool是确保数据库高效、安全和可靠运行的关键组件。理解这些组件的工作原理和作用,对于优化数据库性能和保障数据安全具有重要意义。通过适当的配置和优化,可以显著提升MySQL的运行效率和数据可靠性。
126 16
|
6月前
|
存储 SQL 关系型数据库
mysql的undo log、redo log、bin log、buffer pool
MySQL的undo log、redo log、bin log和buffer pool是确保数据库高效、安全和可靠运行的关键组件。理解这些组件的工作原理和作用,对于优化数据库性能和保障数据安全具有重要意义。通过适当的配置和优化,可以显著提升MySQL的运行效率和数据可靠性。
101 4
|
7月前
|
关系型数据库 MySQL
图解MySQL【日志】——磁盘 I/O 次数过高时优化的办法
当 MySQL 磁盘 I/O 次数过高时,可通过调整参数优化。控制刷盘时机以降低频率:组提交参数 `binlog_group_commit_sync_delay` 和 `binlog_group_commit_sync_no_delay_count` 调整等待时间和事务数量;`sync_binlog=N` 设置 write 和 fsync 频率,`innodb_flush_log_at_trx_commit=2` 使提交时只写入 Redo Log 文件,由 OS 择机持久化,但两者在 OS 崩溃时有丢失数据风险。
171 3
|
7月前
|
关系型数据库 MySQL 数据库
MySQL日志
本文介绍了MySQL中三个重要的日志:binlog、redolog和undolog。binlog记录数据库更改操作,支持数据恢复、复制和审计;redolog保证事务的原子性和持久性,实现crash-safe;undolog用于事务回滚及MVCC的实现。每个日志都有其独特的作用和应用场景,确保数据库的稳定性和数据一致性。
123 1
|
6月前
|
SQL 存储 关系型数据库
简单聊聊MySQL的三大日志(Redo Log、Binlog和Undo Log)各有什么区别
在MySQL数据库管理中,理解Redo Log(重做日志)、Binlog(二进制日志)和Undo Log(回滚日志)至关重要。Redo Log确保数据持久性和崩溃恢复;Binlog用于主从复制和数据恢复,记录逻辑操作;Undo Log支持事务的原子性和隔离性,实现回滚与MVCC。三者协同工作,保障事务ACID特性。文章还详细解析了日志写入流程及可能的异常情况,帮助深入理解数据库日志机制。
654 0
|
3月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
652 1
|
4月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!

推荐镜像

更多