私はmysqlに非常に大きな問題を抱えています。ユーザーがデータベースの日時属性に対応するフィールドに入力するフォームがあります。私が抱えている問題は、フォームの日時フィールドの形式が正しくなく、データベース内のすべてのレコードが「0000-00-00 00:00:00」で埋められていることです。
ユーザーが送信したデータを復元する方法はありますか? 多分ログ/バイナリログから?
一般ログを確認しましたが、空です。
前もって感謝します!私は本当にあなたの助けに感謝します.
この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