web-dev-qa-db-ja.com

MySQLトランザクションログはどこにありますか?

MySQLはトランザクションログを保持していますか?保持している場合、どこでそれを見つけることができますか?

いくつかの行が不思議なことにテーブルから削除されたので、いつどのようにして発生したかを確認したいと思います。

17
php-b-grader

あなたがオンにした場合-mysqlは バイナリログ を追跡できます。これにはすべての変更が含まれます(明確にするために、何かを変更したクエリが含まれます)。

しかし、いずれにしても、binlogがオンになる前の初期ダンプがない場合は役に立ちません。また、あなたがダンプを作成してbinlogをオンにしたとしたら、そのような質問はしないでしょう:-S

11
zerkms
2
Amber

WindowsでMySqlを使用している場合、C:\Program Files\MySQL\MySQL Server 5.0\dataにあるファイル(インストールターゲットおよびMySqlバージョン5.0のC:ドライブを想定)があり、%COMPUTERNAME%.logと呼ばれています。実行されました。

1
Rob

短い答え:デフォルトではありません。

正確なロギング結果を得るために、パラメータ--log-bin=your-file-nameを使用して、最初にサーバーをバイナリロギングモードで起動する必要があります。次に、バイナリログファイル<>を作成します。ここで、seqは後続のログファイルのシーケンス番号です(ファイル名を明示的なディレクトリの場所に配置することをお勧めします)。

すべての詳細を説明するMySQLサイトの詳細情報: https://dev.mysql.com/doc/refman/5.7/en/binary-log.html

0