うまいぼうぶろぐ

linuxとhttpdとperlのメモ

mysql リストア時のチューニング

巨大なデータをimportで少しでもリストア時間を短縮したいとき。

my.cnf

restore時は堅牢性は必要ないので、binlogやinnodbの二重書き込み等を無効にする。

# log-bin の項目をコメントして起動
# bin_logを無効にできない場合は、せめてsync_binlog = 0
skip_innodb_doublewrite
innodb_flush_log_at_trx_commit = 0

LOAD DATA

通常のimport用のsqlではなくて、LOAD DATA を使うと一行ずつのSQLではなくでデータとしてまとめて投入するから早い。ただし、mysqldump --help で

This only works if mysqldump is run on the same machine as the mysqld server.

と書いてあるので条件付きなのかな。同じマシンと書いているけど、同一のアーキテクチャで同じメジャーバージョンであれば出来そう(雰囲気)