当前位置:   article > 正文

C#实现Mysql备份(mysqldump)_c# 备份mysql

c# 备份mysql

string mysqldump = string.Empty;
 string  StrSql = string.Format("select @@basedir as basePath from dual");//查询Mysqlbin文件地址,用于打开cmd命令

DataSet DS = mysql.GetDataSet(StrSql);

mysqldump = DS.Tables[0].Rows[0]["basePath"].ToString();
mysqldump = mysqldump.Replace("/", "\\");//替换路径中的斜杠

mysqldump = mysqldump+"bin";

 //调用mysqldump备份mysql数据库的语句
string backupsql = string.Format("mysqldump --host={0} --default-character-set=utf8 --lock-tables   --port=3306 --user={1} --password={2} --quick --databases ", txthost.Text, txtuser.Text, txtpwd.Text);
 

 //备份数据库的路径
string strDBpath = @"C:\mysqlbackup\";
//判断备份的数据库路径是否存在
if (!Directory.Exists(strDBpath))
    {
       Directory.CreateDirectory(strDBpath);
    }

 strDBpath +=( DateTime.Now.ToString("yyyyMMdd_HHmmss") + "MySQLBackUp.sql");

 string cmd = backupsql + 数据库名+ " >" + filePath;

        /// <summary>
        /// MySQL的mysqldump程序执行函数
        /// </summary>
        /// <param name="mysqldumPath">mysqldum工具路径</param>
        /// <param name="strCmd">cmd命令</param>
        /// <returns></returns>
        private string RunCmd(string mysqldumPath, string strCmd)
        {
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo.FileName = "cmd.exe";
            p.StartInfo.WorkingDirectory = mysqldumPath;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = true;
            p.Start();
            p.StandardInput.WriteLine(strCmd);
            p.StandardInput.WriteLine("exit");
            return p.StandardError.ReadToEnd();
        }

报错信息1 

 提示:在命令行界面上使用密码可能不安全。

原因:-p后边输入任何字符

如果再cmd里备份-p后不跟字符回车会让输入密码,密码成功以后备份;

我在程序中-p后直接跟密码,虽然会报错但是依旧备份成功,所以我就忽略了这条报错信息。

报错信息2

 提示:使用了密码但是拒绝访问

原因:可能是mysql服务器停了或端口IP问题或mysql配置文件ini错误或密码有误

如果括号中password后跟的是NO代表没有使用密码登录 

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

闽ICP备14008679号