mysqldumpでバックアップ
※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい
2008-02-15
レンタルサーバのデータベース(MySQL)を、何気に phpMyAdmin でバックアップしていましたが、シェルが使えるサーバなのでスクリプトで対応することに。シェルと言っても、mysqldump コマンドを実行するだけですが、よく使いそうなオプションだけメモっておくことにしました。
--add-drop-table 各作成ステートメントの前に drop table を追加する --extended-insert 複数行 INSERT 構文を使用する(高速) --no-autocommit ダンプされたテーブルごとに SET AUTOCOMMIT=0 と COMMIT ステートメントで囲む --hex-blob 16進変換表記法を使用しているバイナリカラムをダンプする (BINARY、VARBINARY、BLOB、BIT)
オプションは個人の好き好きですが、調べておくことをオススメします。ちなみに、autocommit は「さくらインターネット」を使ってる場合は、ストレージエンジンが MyISAM なのでオフ(OFF)にする意味はありません。
簡単にコマンドを書いておきます。シェルスクリプトで汎用的に実行できるようにして、cron で毎日バックアップしておけばなお安全でしょうか。
mysqldump -u[ユーザー] -p -h[ホスト] [データベース] \ --add-drop-table --extended-insert --no-autocommit > [ダンプ先ファイル名]
関連記事
上記の記事に関連する記事(最新の10件)です。


