Резервное копирование базы данных MySQL - PullRequest
0 голосов
/ 03 декабря 2010

Я занимаюсь разработкой проекта в 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 голосов
/ 22 января 2016

Да ... mysqldump - решение, но убедитесь, что оно находится в пути Windows или существует локально.

Предполагая, что: имя пользователя = root + пароль = root + База данных для резервного копирования называется основной + Вы хотите сохранить резервную копию в C: \ MySQLBackups + Файл резервной копии для создания называется main_22@AM.sql

Тогда команда оболочки DOS Window выглядит следующим образом:

mysqldump -u root -proot main> "C: \ MySQLBackups \ main_22@AM.sql"

Восстановление немного сложнее, потому что база данных уже должна существовать. Если это не так, вы должны сначала создать его. Чтобы восстановить эту резервную копию, команда оболочки окна DOS:

mysql -u root -proot main <"C: \ MySQLBackups \ main_22@AM.sql" </strong>

Я записываю это в командный файл, а затем запускаю оболочку для командного файла из моего приложения VB6. У меня отлично работает.

0 голосов
/ 08 декабря 2010

Вы используете SQLDMO, объекты управления данными SQL, для создания этой резервной копии. Эта библиотека специально предназначена для SQL Server и не будет работать ни с чем другим, mysql, oracle и т. Д.

для MySql вам нужно найти фактическую команду SQL, использованную для выполнения резервного копирования, и вызвать ее, как при обычном выборе SQL, через объект подключения.

Хм, только что выглядел и не похоже, что у MYSQL есть какая-либо команда SQL для этого. Похоже, вы должны оболочки MYSQLDUMP.exe

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...