mysql如何用程序备份,如何进行MySQL数据库备份

I need to take a backup of my entire database using MySql Query

2.Also to take a backup of DB using c# code

My application is an standalone application and using vs2010.

This what I have tried so far.Not able to identify what error is thrown.any suggestions would be of help.Any help on this will be of great help

enter code here

int year = Time.Year;

int month = Time.Month;

int day = Time.Day;

int hour = Time.Hour;

int minute = Time.Minute;

int second = Time.Second;

int millisecond = Time.Millisecond;

//Save file to C:\ with the current date as a filename

string path;

path = "D:\\yourfoldername" + year + "-" + month + "-" + day + "-" + hour + "-" + minute + "-" + second + "-" + millisecond + ".sql";

StreamWriter file = new StreamWriter(path);

ProcessStartInfo psi = new ProcessStartInfo();

psi.FileName = "mysqldump";

psi.RedirectStandardInput = false;

psi.RedirectStandardOutput = true;

psi.Arguments = string.Format(@"-u{0} -p{1} -h{2} {3}", "root", "", "localhost", "database");

psi.UseShellExecute = false;

Process process = Process.Start(psi);

string output;

output = process.StandardOutput.ReadToEnd();

file.WriteLine(output);

process.WaitForExit();

file.Close();

process.Close();

enter code here

解决方案

If it's an entire DB, then:

$ mysqldump -u [uname] -p[pass] db_name > db_backup.sql

If it's all DBs, then:

$ mysqldump -u [uname] -p[pass] --all-databases > all_db_backup.sql

If it's specific tables within a DB, then:

$ mysqldump -u [uname] -p[pass] db_name table1 table2 > table_backup.sql

You can even go as far as auto-compressing the output using gzip (if your DB is very big):

$ mysqldump -u [uname] -p[pass] db_name | gzip > db_backup.sql.gz

If you want to do this remotely and you have the access to the server in question, then the following would work (presuming the MySQL server is on port 3306):

$ mysqldump -P 3306 -h [ip_address] -u [uname] -p[pass] db_name > db_backup.sql

To IMPORT:

ype the following command to import sql data file:

$ mysql -u username -p -h localhost DATA-BASE-NAME < data.sql

In this example, import 'data.sql' file into 'blog' database using vivek as username:

$ mysql -u sat -p -h localhost blog < data.sql

If you have a dedicated database server, replace localhost hostname with with actual server name or IP address as follows:

$ mysql -u username -p -h 202.54.1.10 databasename < data.sql

OR use hostname such as mysql.cyberciti.biz

$ mysql -u username -p -h mysql.cyberciti.biz database-name < data.sql

If you do not know the database name or database name is included in sql dump you can try out something as follows:

$ mysql -u username -p -h 202.54.1.10 < data.sql

Backing up Database in MySQL using C#

Backup a MySQL database

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();

}

}

}

}

Restore a MySQL database

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();

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值