• 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();

    }

  • 相关阅读:
    android 添加图片时错误:android libpng error: Not a PNG file
    hdu4553
    zoj2706
    zoj3349
    zoj3606
    主席树 静态区间第k大
    主席树:动态 Kth
    zoj3633
    zoj3381
    zoj 3540
  • 原文地址:https://www.cnblogs.com/zhangruisoldier/p/4613181.html
Copyright © 2020-2023  润新知