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

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

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

【问题讨论】:

    标签: mysql transaction-log


    【解决方案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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-07-02
        • 2011-03-03
        • 1970-01-01
        • 2018-10-31
        • 2019-11-11
        • 2023-03-15
        • 1970-01-01
        相关资源
        最近更新 更多