mysqldumpと復元
特定のデータベースのみバックアップする方法
MySQL の特定のデータベースのデータを dump バックアップするには、次のコマンドで行う。$ mysqldump -u DBユーザ名 -p DB名 > 出力先ファイル名
mysqldump -u terao -p sankyoSNS > /var/www/vhosts/nsm2.net/sns.sql
mysqldump -u sns -p sns > /home/terao/sns.sql
特定のデータベースのみ復元する方法
特定のデータベースの dump ファイルを、特定のデータベースに復元する方法は次のコマンドでできます。 データの投入先となるデータベースは先に作成しておく必要があります。
$ mysql -u ユーザー名 -p データベース名 < dumpファイル名
mysql -u terao -p sankyoSNS_test < /var/www/vhosts/nsm2.net/sankyoSNS.sql
mysql -u terao -p sns_test < /var/www/vhosts/nsm2.net/sns.sql
dump
mysqldump -u terao -p sankyoSNS | gzip > sns.sql.gz
restore
zcat dumpfile.sql.gz | mysql -u username -ppassword database_name
zcat sns.sql.gz | mysql -u terao -p sns
この方法だと、巨大ファイルの場合エラーで復元できない場合がある。
巨大ファイルの場合、次の方法を利用する。
○元のサーバでダンプし、別のサーバーへ移行(テスト環境を作る場合も同じ)
- 元のサーバー
mysqldump -u terao -p sns > /home/terao/public_html/dump/sns.sql - 移行サーバー
cd /tmp
wget http://papasan.nsm2.net/dump/sns.sql
mysql -u root -p sns < sns.sql
巨大SQLの復元
- mysqlにコンソールでログイン
mysql -u terao -p - mysql> USE sankyoSNS
mysql> SOURCE /var/www/vhosts/nsm2.net/sns.sql
macのMAMPの場合
- cd /Applications/MAMP/Library/bin/
- ./mysql -u midori -p
- mysql> USE sns
- mysql> SOURCE /Applications/MAMP/htdocs/sns.sql