mysqlのバックアップについて。標準でついてるmysqldump,xtraBackup,Mydumpなどがある。
■mysqldump
標準でついてる。
・特定のDBのバックアップを取るとき。mysqldumpコマンドを使う。
>mysqldump -uhogeuser -p hogedb > hogedb.dump
hogedbというDBのバックアップをhogedb.dumpというファイルで出力。なか見たらただのsqldump。
テストのために、hogedbをdropする。そして、create database hogedbでdbを新規作成しておく(dumpファイルは、DB自体のバックアップは取ってくれないから)
復元
>mysql -uhogeuser -p hogedb < hogedb.dump
おわり、簡単。
ちなみにmysqlにあるDBすべてのバックアップを取るとき
mysqldump -u root -x --all-databases > dump.sql
参考:MySQLのdump(ダンプ)でデータをバックアップ/復元する MySQL基礎の基礎Add Star
■/var/lib/mysqlディレクトリ毎バックアップ
/var/lib/mysqlディレクトリ毎コピーでバックアップをとる。/var/lib/mysql/mysql.sockという中身が空のソケットファイルがあるから、cpコマンドに arオプションをつける必要がある。
参考:リストアとバックアップ: コピーコマンドによるバックアップ方法
■参考
・MySQLバックアップツール比較 XtraBackup / mysqldump / Mydumper
・Percona XtraBackupの基本的な使い方
・XtraBackupを使ってMySQLをバックアップしよう
・MySQL 5.6のInnoDB memcached pluginを使ってみる
・Percona MySQL をさくらのVPSで使う
■mysqldump
標準でついてる。
・特定のDBのバックアップを取るとき。mysqldumpコマンドを使う。
>mysqldump -uhogeuser -p hogedb > hogedb.dump
hogedbというDBのバックアップをhogedb.dumpというファイルで出力。なか見たらただのsqldump。
テストのために、hogedbをdropする。そして、create database hogedbでdbを新規作成しておく(dumpファイルは、DB自体のバックアップは取ってくれないから)
復元
>mysql -uhogeuser -p hogedb < hogedb.dump
おわり、簡単。
ちなみにmysqlにあるDBすべてのバックアップを取るとき
mysqldump -u root -x --all-databases > dump.sql
参考:MySQLのdump(ダンプ)でデータをバックアップ/復元する MySQL基礎の基礎Add Star
■/var/lib/mysqlディレクトリ毎バックアップ
/var/lib/mysqlディレクトリ毎コピーでバックアップをとる。/var/lib/mysql/mysql.sockという中身が空のソケットファイルがあるから、cpコマンドに arオプションをつける必要がある。
参考:リストアとバックアップ: コピーコマンドによるバックアップ方法
■参考
・MySQLバックアップツール比較 XtraBackup / mysqldump / Mydumper
・Percona XtraBackupの基本的な使い方
・XtraBackupを使ってMySQLをバックアップしよう
・MySQL 5.6のInnoDB memcached pluginを使ってみる
・Percona MySQL をさくらのVPSで使う