【问题标题】:Get Backup for mysql database获取mysql数据库的备份
【发布时间】:2014-04-16 18:09:55
【问题描述】:

我尝试备份到我的数据库。我的代码是

private void button1_Click(object sender, EventArgs e)
{
    string Coonstring = "datasource=localhost;port=3306;username=****;password=****;Charset=utf8";
    MySqlConnection cn= new MySqlConnection(Coonstring);
    MySqlCommand cmd;
    SaveFileDialog sf = new SaveFileDialog();
    sf.Filter = "Backup Files (*.Bak) |*.bak";
    if(sf.ShowDialog()==DialogResult.OK)
    {
        cmd = new MySqlCommand("Backup Database project To Disk='" + sf.FileName + "'", cn);
        cn.Open();
        cmd.ExecuteNonQuery();
        MessageBox.Show("Done");
        cn.Close();
    }
}

但是当我运行它时,我得到了错误

“MySql.Data.MySqlClient.MySqlException”类型的未处理异常 发生在MySql.Data.dll

附加信息:您的 SQL 语法有错误;查看 与您的 MySQL 服务器版本相对应的手册 在 'Backup Database project To Disk='C:\Users\tariq 附近使用的语法 emad\Desktop\1\tt.bak'' 在第 1 行)。

所以,任何人都可以帮助我解决这个错误。

【问题讨论】:

  • Backup Database project to Disk='blah.bak' 是实际有效的 MySQL 命令吗?
  • (blah) 是文件名。和 (.bak) 是保存的类型,它的意思是这个文件备份文件
  • @mellamokb 我认为它是 SQL Server 中的 valid command,但我不确定 MySQL。
  • @jaredk 是的,我认为是 MYSQL 命令中的问题。那么我可以使用它的正确命令是什么 mysql

标签: c# mysql


【解决方案1】:

在 cmd-box 中你需要像这样执行 mysqldump

mysqldump --user=... --Password=... dbname > dump.sql

【讨论】:

  • 你的意思是这样 cmd = new MySqlCommand(" mysqldump --user=... --Password=... dbname > dump.sql, cn);
  • 某处有 á mysqldump.exe,需要从 cmd-box 调用,而不是从代码调用
  • 谁能给我解释一下。因为我是新来的:)
  • 我猜,您使用的是 Windows 机器……您在某处安装了 mysqlserver。在mysql的bin目录里面,有几个exe文件。一个叫mysqldump!您需要执行该程序以转储 dB。
  • 我发布的命令通常用于备份mysql。转到开始,执行并键入 cmd。黑色的dosbox应该打开。找到 mysql 目录并使用 windows-explorer 查找名为 bin 的目录。在 dosbox 中键入“cd ,然后输入上面的命令。用密码、用户名和 dbname 替换 ... 项目...然后应该出现一个名为 dump.sql 的文件,其中包含创建表语句和插入语句
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-10
  • 1970-01-01
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 2011-10-31
  • 2020-11-23
相关资源
最近更新 更多