zoukankan      html  css  js  c++  java
  • C# Tip C#实现MySQL数据库的备份和还原

    这篇放到单独讲解数据库的分类比较好,不过作为技巧性的东西,不强求怎么分类,且听我徐徐道来.
     备份方法:
    先通过注册表得到MySQL程序的安装路径,如果是5.0版本,就是:
     
    var registerLocation = @"Software\MySQL AB\MySQL Server 5.0";
    var key
    = Registry.LocalMachine.OpenSubKey(registerLocation);
    if (key != null)
    {
    var location
    = key.GetValue("Location").ToString();
    }
     
    得到路径之后,新建一个Process,准备开始备份,具体细节一边代码一边注释讲解.
     
    var proc = new Process();
    //通过命令行的方式进行备份,因此需要运行cmd.exe
    proc.StartInfo.FileName = "cmd.exe";
    //禁用系统Shell启动
    proc.StartInfo.UseShellExecute = false;
    //设置工作目录到location + @"bin"
    //因为我们要使用mysqldump做备份,而mysqldump程序在目录 location+@"bin"下
    proc.StartInfo.WorkingDirectory = location + @"bin";
    //mysqldump的参数可参考mysql官网的注解,这里通过format的方式
    //得到的命令参数,每个代表什么意思,从字面上已经很好理解,不解释,^_^
    proc.StartInfo.Arguments = string.Format("mysqldump.exe --default-character-set=utf8 -h {0} -u {1} -p{2} {3} > {4}",server,user,pwd,database,backupFile);
    //不新建窗口,相当于隐藏界面
    proc.StartInfo.CreateNoWindow = true;
    //以下两句主要是为了调试目的,加不加都无所谓
    proc.StartInfo.RedirectStandardInput = true;
    proc.StartInfo.RedirectStandardOutput
    = true;
    //开始执行备份
    proc.Start();
    //等待备份完成
    proc.WaitForExit();
    //关闭进程
    proc.Close();
     这样简单几步就备份完成了.
    还原方法:
    跟备份的方法类似,只是备份调用的是mysql.exe
    只需改一句,具体参数—force表示强制还原,其他很明了,不多解释.
     
    proc.StartInfo.Arguments = string.Format("mysql.exe --force -h {0} -u {1} -p{2} {3} < {4}",
    server,user,pwd,database,restoreFile);
    多余的代码就不写了,O(∩_∩)O哈哈~
     
  • 相关阅读:
    原生小程序音频播放
    Vue定义全局过滤器filter
    系统扩展性之引入外部包
    oracle update join
    OAuth2
    oracle pl/sql
    MySQL同步工具otter的使用介绍(一)
    python批量安装apk
    mac brew安装redis
    antd 修改Modal的底部按钮颜色
  • 原文地址:https://www.cnblogs.com/bloodish/p/1990024.html
Copyright © 2011-2022 走看看