質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

Q&A

解決済

1回答

6117閲覧

[MariaDBについて]バイナリログを使ってデータを復旧したい

kanbara

総合スコア13

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

0グッド

0クリップ

投稿2015/06/29 12:39

お世話になっております。kanbaraといいます。

mariadbでバックアップからデータ復旧後にバイナリログの更新クエリをあてて指定した状態まで戻したいです。
バックアップからデータ復旧後にバイナリログを適用しようとするとエラーとなりうまくいきません。
やり方をご存じの方いらっしゃいましたらご教授いただけないでしょうか?

やったこと

1.xtrabackupのinnobackupexコマンドでバックアップを取得

2.データベースに変更を加える(4の後にこの状態まで戻したい)

3.mariadb停止

4.データベースが破損したことを想定して、データ保存先に設定している/var/lib/mysqlのmysqlの名前を変更

5.xtrabackupのinnobackupexコマンド--copy-backで1で取得したバックアップからデータを戻す

6.mariadb再起動

7.バイナリログをあてる(あてたいバイナリログファイル名はmysql-bin.000002)

mysqlbinlog mysql-bin.000002 | mysql -uroot -p

7のときに↑このコマンドを実行すると下記エラーが出てしまいうまくいきません。

ERROR at line 75: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: 'INSERT INTO t1 VALUES (NULL,uuid(),1804289383,846930886,'xvtvmC9127qJNm06sGB8R92q2j7vTiiITRDGXM9ZLzkdekbWtmXKwZ2qG1llkRw5m9DHOFilEREk3q7oce8O3BEJC0woJsm6uzFAEynLH2xCsw1KQ1lT4zg9rdxBLb','97RGHZ65mNzkSrYT3zWoSbg9cNePQr1bzSk81qDgE4Oanw3rnPfGsBHSbnu1evTdFDe83ro9w4jjteQg4yoo9xHck3WNqzs54W5zEm92ikdRF48B2oz3m8gMBAl11W')'.

何か足りない情報等ございましたら追記していきます。
ちょっとしたことでもいいので、回答頂ければ幸いです。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Set --binary-mode to 1

と出ています。ちょっと調べて --binary-mode を 1 にしてみてはいかがでしょうか。

http://dev.mysql.com/doc/refman/5.6/ja/mysqlbinlog.html
によれば

mysqlbinlog が生成したステートメントに BLOB 値が含まれる可能性がある場合、mysql がそれらを処理するときに問題が生じることがあります。この場合は、mysql を --binary-mode オプションで起動します

とあります。簡単に言うと、普通は、MySQL のデータは及び、SQL の命令はテキスト形式なのですが、BLOB 値には「テキスト形式には簡単にできない」データが含まれます。それをどう表現するか、という方法(の1つ)が binary-mode であるということです。
http://oinume.hatenablog.com/entry/wp/292
をご覧になると、少し参考になるかもしれません。

まだ追記が必要であれば、ご連絡下さい。

投稿2015/06/29 23:35

編集2015/06/30 02:28
takotakot

総合スコア1111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kanbara

2015/06/30 00:52

アドバイスありがとうございます。 mysqlbinlog mysql-bin.000002 | mysql -uroot -p --binary-mode として最後に--binary-modeをつけることで実行はすることができました。 ただ、--binary-modeの意味が分かりません。 googleでも調べてみましたが情報が出てきません。 --binary-modeについてご存じでしたらご教授いただけないでしょうか?
kanbara

2015/07/10 09:22

追記頂きありがとうございます。 とてもわかりやすい回答で大変勉強になりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問