通过c# 实现mysql 数据库的备份和附加
2017-04-23 10:02
603 查看
近期涉及到通过c# 对mysq数据库的备份和附件功能
由于mysql 有类似的备份和附加的cmd命令。可是一直没用过,今天实践了下,感觉效率挺快。比自己写的效率高。以下我列出c#调用mysql的备份和附加功能函数。
1.备份mysql数据库
定义string strAddress = string.Format("mysqldump --host={0} --default-character-set=utf8 --lock-tables --routines --force --port=3306 --user={1} --password={2} --quick ", 连接的server名称, username, 密码);
string strDB=你须要备份的数据库名称。
this.mysqlPath = "C:\\Program Files\\MySQL\\MySQL Server 5.5\\bin";
if (!string.IsNullOrEmpty(strDB))
{
sfd.Filter = "数据库文件|*.sql";
sfd.FilterIndex = 0;
sfd.RestoreDirectory = true;
sfd.FileName = "BackUp-" + strDB + DateTime.Now.ToString("yyyyMMDDHHmmss") + ".sql";
if (sfd.ShowDialog() == DialogResult.OK)
{
string filePath = sfd.FileName;
string cmd = this.strAddress + strDB + " >" + filePath;
string result = RunCmd(m_mysqlPath, cmd);
if (result.Trim() == "")
{
Show("数据库备份成功!", "提示", );
}
else
{
Show(result, "提示");
}
}
}
主要执行函数
private string RunCmd(string strPath, string strcmd)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.WorkingDirectory = strPath;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine(strcmd);
p.StandardInput.WriteLine("exit");
return p.StandardError.ReadToEnd();
}
运行就可以对选中数据库进行备份。
由于mysql 有类似的备份和附加的cmd命令。可是一直没用过,今天实践了下,感觉效率挺快。比自己写的效率高。以下我列出c#调用mysql的备份和附加功能函数。
1.备份mysql数据库
定义string strAddress = string.Format("mysqldump --host={0} --default-character-set=utf8 --lock-tables --routines --force --port=3306 --user={1} --password={2} --quick ", 连接的server名称, username, 密码);
string strDB=你须要备份的数据库名称。
this.mysqlPath = "C:\\Program Files\\MySQL\\MySQL Server 5.5\\bin";
if (!string.IsNullOrEmpty(strDB))
{
sfd.Filter = "数据库文件|*.sql";
sfd.FilterIndex = 0;
sfd.RestoreDirectory = true;
sfd.FileName = "BackUp-" + strDB + DateTime.Now.ToString("yyyyMMDDHHmmss") + ".sql";
if (sfd.ShowDialog() == DialogResult.OK)
{
string filePath = sfd.FileName;
string cmd = this.strAddress + strDB + " >" + filePath;
string result = RunCmd(m_mysqlPath, cmd);
if (result.Trim() == "")
{
Show("数据库备份成功!", "提示", );
}
else
{
Show(result, "提示");
}
}
}
主要执行函数
private string RunCmd(string strPath, string strcmd)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.WorkingDirectory = strPath;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine(strcmd);
p.StandardInput.WriteLine("exit");
return p.StandardError.ReadToEnd();
}
运行就可以对选中数据库进行备份。
相关文章推荐
- 通过c# 实现mysql 数据库的备份和附加
- c#实现数据库的备份和恢复
- C#实现数据库的备份与还原
- C#对数据库操作的类,包括附加、还原、备份、分离、压缩、创建、修改等常见操作
- 使用MySQL Administrator 实现MySql 数据库备份与恢复
- mysqlhotcopy 通过ftp方式异地备份数据库
- C#实现数据库的备份与还原
- 通过SQL Server Agent方式实现数据库自动备份!
- 使用mysql 数据库的mysqldump实现自动备份
- mysql数据备份或转移(1)——通过数据复制实现转移
- mysqlhotcopy 通过ftp方式异地备份数据库
- 备份与恢复数据库 C#实现WEB服务器
- C#实现附加一个数据库到SQL服务器
- 用 PHP 实现 XML 备份 Mysql 数据库
- 实现 win2003 下 mysql 数据库每天自动备份
- 一个通过数据库镜像实现SPS 2003门户快速备份与恢复的操作手册
- java调用mysql的工具类实现数据库远程备份,还原,生成创建表的sql脚本
- 一个通过数据库镜像实现SPS 2003门户快速备份与恢复的操作手册
- 如何在C#代码中实现在Sqlserver2000中添加用户?以及附加数据库?
- c#实现附加分离备份还原数据库(绝对原创)