加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

C 怎么达成MySQL命令行备份和恢复

发布时间:2022-02-15 03:14:18 所属栏目:MySql教程 来源:互联网
导读:这篇文章给大家分享的是有关C#怎么实现MySQL命令行备份和恢复的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 MySQL数据库的备份有很多工具可以使用,这两天写了一个使用C#调用MYSQL的mysqldump命令完成MySQL数据库的备份与
       这篇文章给大家分享的是有关C#怎么实现MySQL命令行备份和恢复的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
 
       MySQL数据库的备份有很多工具可以使用,这两天写了一个使用C#调用MYSQL的mysqldump命令完成MySQL数据库的备份与恢复的小工具
 
先来说一下mysqldump命令备份MySQL数据库的使用方法
 
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
直接将MySQL数据库压缩备份
 
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
备份MySQL数据库某个(些)表
 
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
同时备份多个MySQL数据库
 
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
仅仅备份数据库结构
 
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
备份服务器上所有数据库
 
mysqldump –all-databases > allbackupfile.sql
还原MySQL数据库的命令
 
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
还原压缩的MySQL数据库
 
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
将数据库转移到新服务器
 
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
使用C#操作MYSQL备份与恢复,主要是利用C#执行外部程序来实现
 
下面是部分C#源码
 
/// <summary>
/// 备份数据库到特定目录
/// </summary>
/// <param name="binfolderpath">Bin文件夹目录,用于得到mysqldump.exe文件</param>
/// <param name="server">服务器</param>
/// <param name="user">用户名</param>
/// <param name="pass">密码</param>
/// <param name="db">要备份的数据库名</param>
/// <param name="backupfile">备份到什么文件</param>
/// <returns></returns>
public static bool BackupDB(string binfolderpath, string server, string character, string user, string pass, string db, string backupfile)
{
string command = string.Format("mysqldump.exe --quick --host="{0}" --default-character-set="{1}" --lock-tables --verbose --force --port=3306 --user="{2}" --password="{3}" "{4}" -r "{5}"",server, character.Trim().ToLower(), user, pass, db, backupfile);
  StartCmd(binfolderpath + @"", command);
  if (File.Exists(backupfile))
  {
    return true;
  }
  else
  {
    return false;
  }
}
/// <summary>
/// 恢复指定数据库到指定文件
/// </summary>
/// <param name="binfolderpath">Bin文件夹目录,用于得到mysqldump.exe文件</param>
/// <param name="server">服务器</param>
/// <param name="user">用户名</param>
/// <param name="pass">密码</param>
/// <param name="db">要备份的数据库名</param>
/// <param name="backupfile">要恢复的SQL文件</param>
/// <returns></returns>
public static bool RestoreDB(string binfolderpath, string character, string server, string user, string pass, string db, string restorefile)
{
string command = string.Format("mysql.exe --host="{0}" --default-character-set="{1}" --port=3306 --user="{2}" --password="{3}" "{4}"<"{5}"", server, character.Trim().ToLower(), user, pass, db, restorefile);
   StartCmd(binfolderpath + @"", command);
   return true;
}
C#是什么
C#是一个简单、通用、面向对象的编程语言,它由微软Microsoft开发,继承了C和C++强大功能,并且去掉了一些它们的复杂特性,C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程从而成为.NET开发的首选语言,但它不适用于编写时间急迫或性能非常高的代码,因为C#缺乏性能极高的应用程序所需要的关键功能。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读