zoukankan      html  css  js  c++  java
  • C# MySQL数据库的备份 还原 初始化

    // 执行创建数据库操作

    this.GetExecute(G_Con, "create database if not exists NEWDB");

    this.sqlAddress = " -h " + IP + " -u" + User + " -p" + Password + " NEWDB ";

    // 数据库的备份

    private void btn_Dump_Click(object sender, EventArgs e)

    {   

      using (SaveFileDialog sfd = new SaveFileDialog())

        {  

           sfd.Filter = "数据库文件|*.sql";   

          sfd.FilterIndex = 0;    

         sfd.RestoreDirectory = true;  

           sfd.FileName = "BackUp" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".sql";

            if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)     

        {         

        string filePath = sfd.FileName;     

            string cmd = "mysqldump " + sqlAddress + " > "" + filePath + """;    

             string result = RunCmd(cmd);    

             if (result.Trim() == "")     

            {             

        MessageBox.Show("数据库备份成功!", "CMS", MessageBoxButtons.OK, MessageBoxIcon.Information);   

              }     

            else     

            {    

                 MessageBox.Show(result, "CMS", MessageBoxButtons.OK, MessageBoxIcon.Information);   

              }            

           }    

    }

    }

    //数据库的还原 // 还原数据库

    private void btn_Import_Click(object sender, EventArgs e)

    {  

       if (this.tb_Path.Text.Trim() == "")   

      {    

         MessageBox.Show("请选择要恢复的文件!", "CMS", MessageBoxButtons.OK, MessageBoxIcon.Information);

            return;   

      }    

    //this.GetExecute(G_Con, "create database if not exists clothes");   

      string filePath = this.tb_Path.Text.Trim();

        string cmd = "mysql " + sqlAddress + " < "" + filePath + """;     string result = RunCmd(cmd);  

       if (result.Trim() == "")   

      {    

         MessageBox.Show("数据库恢复成功!", "CMS", MessageBoxButtons.OK, MessageBoxIcon.Information);

        }

        else   

      {  

           MessageBox.Show(result, "CMS", MessageBoxButtons.OK, MessageBoxIcon.Information);

        }

    }

    // 命令行操作

    private string RunCmd(string command)

    {    

    //例

    Process     Process p = new Process();

        p.StartInfo.FileName = "cmd.exe";      //确定程序名

        p.StartInfo.Arguments = "/c " + command;    //确定程式命令行

        p.StartInfo.UseShellExecute = false;        //Shell的使用  

       p.StartInfo.RedirectStandardInput = true;   //重定向输入   

      p.StartInfo.RedirectStandardOutput = true; //重定向输出

        p.StartInfo.RedirectStandardError = true;   //重定向输出错误    

    p.StartInfo.CreateNoWindow = true;          //设置置不显示示窗口

        p.Start();   //00

        p.StandardInput.WriteLine(command);       //也可以用这种方式输入入要行的命令

        p.StandardInput.WriteLine("exit");        //要得加上Exit要不然下一行程式  

       //p.WaitForExit();  

       //p.Close();

        //return p.StandardOutput.ReadToEnd();       

    //输出出流取得命令行结果果    

    return p.StandardError.ReadToEnd();

    }

  • 相关阅读:
    C++操作文件行(读取,删除,修改指定行)
    Windows注册表中修改UAC(用户账号控制)及批处理脚本
    Centos7.x 安装libevent2.x
    【Docker】:使用docker安装redis,挂载外部配置和数据
    【Docker】:使用docker安装mysql,挂载外部配置和数据
    开源定时任务框架Quartz(二)
    开源定时任务框架Quartz(一)
    Spring Boot系列教程十四:Spring boot同时支持HTTP和HTTPS
    数据结构与算法:单向链表实现与封装(有头)
    【C++札记】指针函数与函数指针
  • 原文地址:https://www.cnblogs.com/zhangruisoldier/p/4613181.html
Copyright © 2011-2022 走看看