DB全体の場合、次のようになります。
$ mysqldump -u [uname] -p[pass] db_name > db_backup.sql
すべてのDBの場合、次のようになります。
$ mysqldump -u [uname] -p[pass] --all-databases > all_db_backup.sql
DB内の特定のテーブルの場合、次のようになります。
$ mysqldump -u [uname] -p[pass] db_name table1 table2 > table_backup.sql
gzipを使用して出力を自動圧縮することもできます(DBが非常に大きい場合):
$ mysqldump -u [uname] -p[pass] db_name | gzip > db_backup.sql.gz
これをリモートで実行したい場合で、問題のサーバーにアクセスできる場合は、次のように機能します(MySQLサーバーがポート3306にあると想定):
$ mysqldump -P 3306 -h [ip_address] -u [uname] -p[pass] db_name > db_backup.sql
インポートするには:
次のコマンドを入力して、SQLデータファイルをインポートします。
$ mysql -u username -p -h localhost DATA-BASE-NAME < data.sql
この例では、ユーザー名としてvivekを使用して「data.sql」ファイルを「blog」データベースにインポートします。
$ mysql -u sat -p -h localhost blog < data.sql
専用データベースサーバーを使用している場合は、次のようにローカルホストのホスト名を実際のサーバー名またはIPアドレスに置き換えます。
$ mysql -u username -p -h 202.54.1.10 databasename < data.sql
または、mysql.cyberciti.biz
などのホスト名を使用します$ mysql -u username -p -h mysql.cyberciti.biz database-name < data.sql
データベース名またはデータベース名がSQLダンプに含まれていることがわからない場合は、次のように試すことができます。
$ mysql -u username -p -h 202.54.1.10 < data.sql
参照: http://dev.mysql.com/doc/refman /5.6/en/mysqldump.html
C#を使用したMySQLでのデータベースのバックアップ
MySQLデータベースをバックアップする
private void Backup()
{
string constring = "server=localhost;user=root;pwd=qwerty;database=test;";
string file = "C:\\backup.sql";
using (MySqlConnection conn = new MySqlConnection(constring))
{
using (MySqlCommand cmd = new MySqlCommand())
{
using (MySqlBackup mb = new MySqlBackup(cmd))
{
cmd.Connection = conn;
conn.Open();
mb.ExportToFile(file);
conn.Close();
}
}
}
}
MySQLデータベースを復元する
private void Restore()
{
string constring = "server=localhost;user=root;pwd=qwerty;database=test;";
string file = "C:\\backup.sql";
using (MySqlConnection conn = new MySqlConnection(constring))
{
using (MySqlCommand cmd = new MySqlCommand())
{
using (MySqlBackup mb = new MySqlBackup(cmd))
{
cmd.Connection = conn;
conn.Open();
mb.ImportFromFile(file);
conn.Close();
}
}
}
}