在哪里可以找到 MySQL 事务日志?

Posted

技术标签:

【中文标题】在哪里可以找到 MySQL 事务日志?【英文标题】:Where can I find the MySQL transaction log? 【发布时间】:2011-03-24 13:48:01 【问题描述】:

mysql 是否保留事务日志,如果有,我在哪里可以找到它?

已从表中神秘地删除了许多行,我想尝试看看它是如何以及何时发生的。

【问题讨论】:

【参考方案1】:

如果您打开 - mysql 可以跟踪 binary log,其中包含所有修改(要清楚 - 它包含已更改某些内容的查询)。

但无论如何,如果你没有在 binlog 开启之前的初始转储,它是无用的。另外我想如果你做了转储并打开了 binlog - 你不会问这样的问题:-S

【讨论】:

我检查了 phpMyAdmin 并且有二进制日志的统计信息,看起来它们已经运行了超过 1 周...是否有一个配置可以将我指向文件位置(在linux系统) log-bin=mysql-bin -- 这是我的家庭服务器配置文件中的示例行。所以我的数据目录中有 mysql-bin* 文件。顺便说一句,正如我所说,如果您没有在打开 binlog 之前进行的转储 - 那么 binlog 就没有用了。另外 - 您应该查看 Amber 提供的查询日志(如果有的话)。【参考方案2】:

如果您在 Windows 上使用 MySql,则有一个位于 C:\Program Files\MySQL\MySQL Server 5.0\data 的文件(假设安装目标为 C: 驱动器和 MySql 版本 5.0),称为 %COMPUTERNAME%.log,其中包含具有被处决了。

【讨论】:

【参考方案3】:

简短回答:默认情况下不是。

为了获得准确的日志记录结果,您需要先以二进制日志记录模式启动服务器,使用参数--log-bin=your-file-name。然后它会创建一个二进制日志文件,其中seq 是后续日志文件的序列号(建议将文件名放在那里,并带有明确的目录位置)。

在 MySQL 网站上解释所有细节的更多信息:https://dev.mysql.com/doc/refman/5.7/en/binary-log.html

【讨论】:

以上是关于在哪里可以找到 MySQL 事务日志?的主要内容,如果未能解决你的问题,请参考以下文章

事务--04---MySQL事务日志----redo日志

事务--04---MySQL事务日志----Undo日志

mysql的innodb中事务日志ib_logfile

Mysql 事务日志(Ib_logfile)

SQL Server 数据库事务日志文件大小急剧增加

MySQL事务日志 undo log 详解