使用c#备份mysql数据库。 [英] Back up mysql database using c#.

查看:113
本文介绍了使用c#备份mysql数据库。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我想使用c sharp备份mysql数据库,我在google上找到以下代码。



但它没有给我整个数据库备份,而是显示以下输出。



Hi,

I want to back up mysql database using c sharp and I found following code on google.

But it is not giving me whole database back up,instead it show following output.

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;





C#代码如下





C# code as below

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Diagnostics;

namespace CRMService4ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
Program.DatabaseBackup("G:/xampp/mysql/bin/mysqldump.exe", "dbname");
}

public static void DatabaseBackup(string ExeLocation, string DBName)
{
try
{
string tmestr = "";
tmestr = DBName + "-" + DateTime.Now.ToShortDateString() + ".sql";
tmestr = tmestr.Replace("/", "-");
tmestr = "G:/" + tmestr;
StreamWriter file = new StreamWriter(tmestr);
ProcessStartInfo proc = new ProcessStartInfo();
string cmd = string.Format(@"-u{0} -p{1} -h{2} {3}", "root", "password", "localhost", DBName);
//string cmd = string.Format(@"-u{0} -p{1} -h{2} {3}", "root", "password", "localhost", "dbfile");
proc.FileName = ExeLocation;
proc.RedirectStandardInput = false;
proc.RedirectStandardOutput = true;
proc.Arguments = cmd;
proc.UseShellExecute = false;
Process p = Process.Start(proc);
string res;
res = p.StandardOutput.ReadToEnd();
file.WriteLine(res);
p.WaitForExit();
file.Close();
//MessageBox.Show("Backup Completed");
}
catch (IOException ex)
{
//MessageBox.Show(ex.Message.ToString());
}
}
}
}





我在代码中更改了主机名,dbusername,dbpassword和dbname。



任何解决方案问题。



- 谢谢。



I have change hostname,dbusername,dbpassword and dbname in code.

Any solution to this problem.

- Thanks.

推荐答案





要从C#备份MySQL数据库,请检查链接。



希望它能帮到你,



谢谢

-Amit。
Hi,

For backup of your MySQL DB from C# check this link.

hope it will help you,

thanks
-Amit.


您好,



尝试检查以下链接:

http://www.dotnetspider.com/resources/19537-MySQL-Database-Backup-Restore-from-C-NET.aspx [ ^ ]



http://www.dotnetobject .com / Thread-Mysql-backup-using-c [ ^ ]



问候

Robert
Hi,

try to check following links:
http://www.dotnetspider.com/resources/19537-MySQL-Database-Backup-Restore-from-C-NET.aspx[^]
or
http://www.dotnetobject.com/Thread-Mysql-backup-using-c[^]

Regards
Robert


试一试:

制作自己的MySQL备份和恢复工具C#/ VB.NET / ASP.NET - MySqlBackup.DLL(支持Unicode,UTF8) [ ^ ]


这篇关于使用c#备份mysql数据库。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆