• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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#实现MySQL命令行备份和恢复的主要原理是利用C#执行外部程序来实现的,其它还有其它实现方法,大家可以深入了解一下

    您可能感兴趣的文章:
    • C#如何连接MySQL数据库
    • C#连接MySQL操作详细教程
    • C#连接MySQL的两个简单代码示例
    • C#连接mysql的方法【基于vs2010】
    • C#如何在海量数据下的高效读取写入MySQL
    • C#在MySQL大量数据下的高效读取、写入详解
    • c#几种数据库的大数据批量插入(SqlServer、Oracle、SQLite和MySql)
    • C#中调用MySQL存储过程的方法
    • C#连接mysql数据库完整实例
    • C#实现操作MySql数据层类MysqlHelper实例
    • c# 向MySQL添加数据的两种方法
    上一篇:MySQL命令行下18个常用命令
    下一篇:mysql授权、启动、启动服务常用命令
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    C#实现MySQL命令行备份和恢复 实现,MySQL,命令行,备份,