Я разрабатываю проект в VB6. В одном меню с именем DATABASE BACKUP я пытаюсь взять резервную копию базы данных из пользовательского интерфейса (например, форму BACKUP.frm). В SQL Server я пробовал это и выполнял успешно, но получение резервной копии из MySQL несколько критично для меня.
Любые решения?
MY SQL SERVER CODE
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
Да... mysqldump - это решение, но убедитесь, что оно находится в пути Windows или существует локально.
Если предположить: username = root + password = root + База данных для резервного копирования называется main + Вы хотите сохранить резервную копию в C:\MySQLBackups + Создаваемый файл резервной копии называется [email protected]
Затем команда оболочки окна DOS выглядит следующим образом:
mysqldump -u root -proot main > "C:\MySQLBackups\[email protected]"
Восстановление немного сложнее, поскольку база данных уже существует. Если это не так, вы должны сначала создать его. Чтобы восстановить эту резервную копию, команда оболочки окна DOS:
mysql -u root -proot main < "C:\MySQLBackups\[email protected]"
Я пишу это в пакетный файл, а затем запускаю оболочку в пакетный файл из моего приложения VB6. Отлично работает для меня.
Для создания этой резервной копии вы используете SQLDMO, объекты управления данными SQL. Эта библиотека + специально + для SQL Server, не будет работать ни с чем другим, mysql, oracle, что угодно.
для MySql вам нужно будет найти фактическую команду SQL, используемую для выполнения резервного копирования, и вызвать ее, как вы бы выбрали обычный SQL, через объект соединения.
Хм, просто посмотрел, и это не похоже на то, что у MYSQL есть какая-то команда SQL для этого. Похоже, вам нужно скопировать в MYSQLDUMP.exe
mysqldump
для резервного копирования серверов MySQL.