0

私はmysqlに非常に大きな問題を抱えています。ユーザーがデータベースの日時属性に対応するフィールドに入力するフォームがあります。私が抱えている問題は、フォームの日時フィールドの形式が正しくなく、データベース内のすべてのレコードが「0000-00-00 00:00:00」で埋められていることです。

ユーザーが送信したデータを復元する方法はありますか? 多分ログ/バイナリログから?

一般ログを確認しましたが、空です。

前もって感謝します!私は本当にあなたの助けに感謝します.

4

1 に答える 1

0

このmysqlbinlogユーティリティを使用して、バイナリ ログのバイナリ形式をテキスト形式に変換できます。

http://dev.mysql.com/doc/refman/5.5/en/mysqlbinlog.html

バイナリ ログにはステートメントが含まれている可能性があることに注意してください (これらの変更は、mysqlbinlog urility からの出力で明らかになります。バイナリの変更が含まれている場合や、それらが混在している場合もあります。バイナリ ログに記録された内容は、binlog_statementシステムの設定によって異なります。 variable. デフォルト値は、MySQL のバージョンによって異なります。

http://dev.mysql.com/doc/refman/5.5/en/binary-log-setting.html

(この質問は dba.stackexchange.com で尋ねたほうがよいかもしれません。)

ファローアップ

MySQL バイナリ ログは InnoDB ログ ファイル (ib_logfile0、ib_logfile1) ではありません。

バイナリ ログ (私のインストールの 1 つ) は、MySQL データ ディレクトリに書き込まれます。

SHOW VARIABLES LIKE 'datadir'

例えば

> ls -l /opt/mysql/data/mysql-bin*

-rw-rw---- 1 mysql mysql 1074553753 2014-05-28 22:39 /opt/mysql/data/mysql-bin.003907
-rw-rw---- 1 mysql mysql 1073745289 2014-05-29 01:22 /opt/mysql/data/mysql-bin.003908
-rw-rw---- 1 mysql mysql  280683262 2014-05-29 01:55 /opt/mysql/data/mysql-bin.003909
-rw-rw---- 1 mysql mysql  520382482 2014-05-29 05:55 /opt/mysql/data/mysql-bin.003910
-rw-rw---- 1 mysql mysql  705774048 2014-05-29 15:26 /opt/mysql/data/mysql-bin.003911
-rw-rw---- 1 mysql mysql        817 2014-05-29 05:55 /opt/mysql/data/mysql-bin.index

バイナリ ログは、バイナリ ログが有効になっている場合にのみ書き込まれることに注意してください。log_binシステム変数をクエリすることで、バイナリログが現在有効になっているかどうかを確認できます。

SHOW VARIABLES LIKE 'log_bin'

Variable_name  Value   
-------------  --------
log_bin        ON      
于 2014-05-29T02:58:35.463 に答える