今までMySQLでバックアップや復元などの操作をする場合、基本的にphpMyAdminを使ってました。
が、コマンドラインでもMySQLを使えなければということで、簡単にまとめました。
それを自分のメモ的に書いておきます。
バックアップ(mysqldumpのみ)
まずmysqldumpで普通にバックアップを取る場合は以下。
mysqldump -u username -h localhost databasename > mysqldump.sql
上記は個別のデータベースをバックアップする場合で、すべてのデータベースをまとめる場合は以下のように「-A」オプションをつけます。
mysqldump -u username -h localhost -A > mysqldump.sql
よく使うオプションは以下です。実際にはまだまだたくさんあります。
-u : ユーザー名
-p : パスワード
-h : ホスト
databasename : 特定のデータベース
-A : すべてのデータベース
バックアップ&圧縮を同時に行う(mysqldump+gzip)
知ってしまえばあまり難しくはありませんでした。
mysqldumpとgzipをパイプで繋ぐだけです。
個別のデータベースは以下。
mysqldump -u username -h localhost -p databasename | gzip > mysqldump.sql.gz
すべてのデータベースをまとめる場合は以下です。
mysqldump -u username -h localhost -p -A | gzip > mysqldump.sql.gz
復元(mysqlコマンドのみ)
個別のデータベースのみを復元したい場合は以下です。
mysql -u username -p databasename < mysqldump.sql
データベースをまとめたものを、そのまままとめて復元したい場合はdatabasenameを指定せず未入力にするだけでOKです。
mysql -u username -p < mysqldump.sql
オプションは以下。mysqldumpとほとんど変わらないです。当然ながらこちらも他にもたくさんあります。
-u : ユーザー名
-p : パスワード
databasename : 特定のデータベース
解凍&復元を同時に行う(zcat+mysql)
バックアップの時と同様にzcatとmysqlをパイプで繋ぐだけです。
zcat mysqldump.sql.gz | mysql -u username -p databasename
ピンバック: wordpress の Mysql DB バックアップと Maria DB へのインポート – Linux & Android Dialy