====== MySQL - バックアップ ====== ▼全データをバックアップ # mysqldump -u root -p[パスワード] --all-databases > 任意のファイル名 ▼データベース単位でバックアップ(例、DB:xoopsをバックアップ) # mysqldump -u root -p[パスワード] xoops > xoops.sql ====== 文字化け回避 ====== # mysqldump --default-character-set=binary -u root -p testdb > testdb.sql ====== MySQLデータリストア ====== mysqldumpコマンドでバックアップすると。\\ その時のDBを作成するsql文が書かれたファイルが作られます。\\ そのsql文を実行する事によって、データをリストアするという事です。\\ ▼例:xoops.sqlを使ってDB:xoopsをリストア # mysql -u root -p[パスワード] xoops < xoops.sql ====== 増分のみのバックアップ ====== MySQLサーバーがデーターをアップデートするときに増分をファイルに格納するためには、\\ サーバーは常にスタート時に --log-binオプションを必要とします。\\ サーバーがリスタートするときは何時でも、現在のバイナリーログに書き込む \\ のを止めて、新しいログを始めます。新しいのが現在のログとなります。\\ このようなスイッチはFLUSH LOGS SQLコマンドでも強制的に出来ます。 ====== mysqldump リモート ====== ==== リモートへdumpをコピー ==== mysqldump --all-databases | ssh -i key root@192.168.10.10 'cat > dump.sql' ==== リモートへ圧縮してコピー ==== mysqldump --all-databases | gzip | ssh -i key root@192.168.10.10 'cat > dump.sql.gz' ==== リモートへSSHしてからdumpの場合 ==== ssh root@host "mysqldump --all-databases" | gzip | cat > dump.sql.gz {{tag>MySQL mysqldump}}