\"{url}{datatime}.sql\"";//设置dos窗口的目录路径,这里就是自己安装mysql的bin目录(我们的mysqldump.exe和mysql.exe所在目录)working=数据库安装路径,mysqldump所在路径。_c">
当前位置:   article > 正文

C#数据库备份与恢复mysql_c# 备份mysql 数据库

c# 备份mysql 数据库

1.利用调用dos窗口进行数据库备份

2.   备份命令: string command = $"mysqldump -u {user} -p{password}  -h {server} -P{port} {database} -R --default-character-set=utf8   > \"{url}{datatime}.sql\"";

working=数据库安装路径,mysqldump所在路径

 private static void StartCommand(string working, string command)
        {
            Process proc = new Process();

            //调用dos窗口
            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                proc.StartInfo.FileName = "cmd.exe";
            }
            else
            {
                proc.StartInfo.FileName = "/bin/bash";
            }


            //不显示窗体
            proc.StartInfo.CreateNoWindow = true;
            //设置dos窗口的目录路径,这里就是自己安装mysql的bin目录(我们的mysqldump.exe和mysql.exe所在目录)
            proc.StartInfo.WorkingDirectory = working;
            //允许输入流
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardInput = true;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.RedirectStandardError = true;
            //执行
            proc.Start();

            proc.StandardInput.WriteLine(command);
            proc.WaitForExit(2000);
            //proc.Close();
            proc.StandardInput.WriteLine("exit");
        }

3.数据库恢复

 string create = "create database " + arr[0] + ";";

arr[0]=mysql 安装目录;

url=备份文件所在路径;

   private static void StartRestore(string Working, string url, string user, string password, string[] arr, string create)
        {
            //创建进程对象
            Process proc = new Process();
            //调用dos窗口
            proc.StartInfo.FileName = "cmd.exe";
            //不显示窗体
            proc.StartInfo.CreateNoWindow = true;
            //设置dos窗口的目录路径,这里就是自己安装mysql的bin目录
            proc.StartInfo.WorkingDirectory = Working;

            //允许输入流
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardInput = true;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.RedirectStandardError = true;
            //执行
            proc.Start();
            proc.StandardInput.WriteLine("mysql -u" + user + " -p" + password);
            proc.StandardInput.WriteLine(create);
            proc.StandardInput.WriteLine("use " + arr[0] + ";");
            proc.StandardInput.WriteLine("source  " + url);
            proc.WaitForExit(10000);
            proc.Close();
        }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/711574
推荐阅读
相关标签
  

闽ICP备14008679号