Open7
wordpress dumpのとり方(ほぼmysqlの話)
wp db
コマンドが用意されている
wp-config.phpの中身を見てくれるので、ログインしている際にホスト情報など気にしなくても良い
wp db export file名
でdumpをとれる。
ただ、mysql v5.7では色々とセキュリティオプションがあり、importがすんなり行かない
wp db
についての公式ドキュメント
wp db export
のオプション
SET @@SESSION.SQL_LOG_BIN= 0;
SET @@GLOBAL.GTID_PURGED='';
SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
この3つが邪魔で一発importできない。
セキュリティ上しかたないが、かなり限られているネットワーク環境なのでdumpにでないようにしたい
おのおのの意味
SET @@SESSION.SQL_LOG_BIN= 0;
セッションで実行した内容をバイナリログへ書き込むかどうかのフラグ
0 : なし
1 :あり
インポートするときはSQLバイナリログモードを1で使う(らしい、要出典)
なので消せば良い
SET @@GLOBAL.GTID_PURGED='';
SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
--set-gtid-purged=OFF
mysqldump -u ${ユーザ名} -p -h ${エンドポイント} --quick --single-transaction --skip-triggers --set-gtid-purged=OFF ${DB名} > ${ファイル名}
GTIDとは?
- グローバルトランザクション識別子 (GTID)
- トランザクションに紐づく情報
- バックアップするときは邪魔だなぁ
ONにすると、
「SET @@GLOBAL.GTID_PURGED='';」
がでてくる。
wp-cliを使う限りは、明示的に消すしかないか…
ちなみに5.5までは、gtidってのはなかったみたい
5.6〜なのね(要出典
しゃーないのでansibleでリプレイス