MySQL数据库备份

时间:2010-12-03 10:01:01

标签: mysql vb6 backup

我正在用VB6开发一个项目。在一个名为DATABASE BACKUP的菜单中,我尝试从用户界面(即BACKUP.frm表单)进行数据库备份。在SQL Server中我试过这个&成功执行,但从MySQL中获取备份对我来说有点关键。

任何解决方案?

我的SQL服务器代码

If Trim(dbName) <> vbNullString Then
Set oDatabase = oSQLServer.Databases(dbName, Trim(txtLogin))
Set oBackup = New SQLDMO.Backup

oBackup.Database = dbName                  '''set database name
oBackup.Files = Dir1.Path & "\" & dbName & ".bak"       '''file path
oBackup.Action = SQLDMOBackup_Database     '''complete backup
oBackup.SQLBackup oSQLServer               ''backup

2 个答案:

答案 0 :(得分:0)

您正在使用SQL数据管理对象SQLDMO来执行该备份。该库是+专门用于SQL Server的+,不能用于其他任何东西,mysql,oracle,等等。

对于MySql,您需要查找用于执行备份的实际SQL命令,并像通常的SQL选择一样通过连接对象调用它。

嗯,只是看起来并不像MYSQL有任何类型的SQL命令。看起来你必须shell到MYSQLDUMP.exe

答案 1 :(得分:0)

是的... mysqldump是解决方案,但要确保它在Windows路径中或在本地存在。

  

假设:   username = root +   密码= root +   要备份的数据库称为main +   您想要将备份保存在C:\ MySQLBackups +中   要创建的备份文件名为main_22@AM.sql

然后DOS Window shell命令如下所示:

mysqldump -u root -proot main&gt; “C:\ MySQLBackups \ main_22@AM.sql”

  

还原有点棘手,因为数据库必须已经存在。如果没有,您必须先创建它。要恢复此备份,DOS窗口shell命令为:

mysql -u root -proot main&lt; “C:\ MySQLBackups \ main_22@AM.sql”

我将其写入批处理文件,然后从我的VB6应用程序中执行批处理文件的shell。适合我。