Как создать резервную копию базы данных базы данных mysql в VB.Net?Резервное копирование базы данных mysql в VB.Net
ответ
вы можете вызвать mysqldump, но вам, возможно, потребуется запустить VB.NET на сервере Mysql.
Вы можете прочитать данные каждой таблицы и записать ее в новую базу данных.
Я бы написал хранимую процедуру, так как MySQL 5 поддерживает их, которая обрабатывает все данные «тяжелой» работой. Затем просто создайте запланированную задачу, которая вызывает процедуру каждую ночь. Для этого последнего компонента я настоятельно рекомендую Powershell .... его удивительный.
Я нашел самый простой способ использовать mysqldump.exe, который является автономным приложением.
mysqldump --host=[HOSTNAME] --user=[USER] --password=[PASSWORD] -R [DATABASE NAME] > [PATH TO BACKUP FILE]
У нас были проблемы с подпоркой не спасает функцию DB, но переключатель -R сортируется так идентификатор рекомендуется использовать его, если использовать хранимые процедуры или функцию в вашей БД.
для восстановления созданного файла вместо этого используйте команду mysql.
mysql --host=[HOSTNAME] --user=[USER] --password=[PASSWORD] [DATABASE NAME] < [PATH TO BACKUP FILE]
Вы можете использовать MySqlBackup.NET, которая является альтернативой туздЫшпр.
Официальный сайт & Документация>http://mysqlbackupnet.codeplex.com
Примеры:
резервного копирования базы данных MySql
Dim conn As MySqlConnection = New MySqlConnection(constr)
Dim cmd As MySqlCommand = New MySqlCommand
cmd.Connection = conn
conn.Open
Dim mb As MySqlBackup = New MySqlBackup(cmd)
mb.ExportToFile("C:\backup.sql")
conn.Close
Восстановление базы данных MySql
Dim conn As MySqlConnection = New MySqlConnection(constr)
Dim cmd As MySqlCommand = New MySqlCommand
cmd.Connection = conn
conn.Open
Dim mb As MySqlBackup = New MySqlBackup(cmd)
mb.ImportFromFile("C:\backup.sql")
conn.Close
Я являюсь одним из авторов этого проекта.
Это то, что я использую для резервного копирования данных на mysql. Я делаю копию mysqldump.exe и mysql.exe и сохраняю ее на своем LIB_PATH, тогда следующий код будет делать резервную копию ваших данных. Вы можете указать свой каталог mysqldump.exe и назначить его LIB_PATH, предоставить свои данные для входа в разделе «Аргументы», а затем указать свой выходной каталог, мой установлен в BACKUP_DIR, и я использую предварительно форматированное Now() как мое имя файла. Код довольно прямолинейный. Goodluck
Using myProcess As New Process()
Dim newfiledb As String = BACKUPDIR_PATH & Format(Now(), "[email protected]~mm_tt").ToString & "_local.sql"
Try
myProcess.StartInfo.FileName = "mysqldump.exe"
myProcess.StartInfo.WorkingDirectory = LIB_PATH
myProcess.StartInfo.Arguments = "--host=localhost --user=username --password=yourpassword yourdatabase -r " & newfiledb
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
myProcess.Start()
myProcess.WaitForExit()
MsgBox("Backup Created ... " & vbNewLine & newfiledb)
Catch ex As Exception
MsgBox(ex.Message, vbCritical + vbOKOnly, ex.Message)
Finally
myProcess.Close()
End Try
End Using
Используйте этот код. Это работает для меня.
я имел такую проблему, а затем нашел эту статью
"http://www.experts-exchange.com/Programming/Languages/.NET/Q_27155602.html"
Пример был в C#. Я вручную конвертировал его в vb.net и добавлял преобразование в 'utf8'.
Imports System.Text
Public Class Form1
Dim OutputStream As System.IO.StreamWriter
Sub OnDataReceived1(ByVal Sender As Object, ByVal e As System.Diagnostics.DataReceivedEventArgs)
If e.Data IsNot Nothing Then
Dim text As String = e.Data
Dim bytes As Byte() = Encoding.Default.GetBytes(text)
text = Encoding.UTF8.GetString(bytes)
OutputStream.WriteLine(text)
End If
End Sub
Sub CreateBackup()
Dim mysqldumpPath As String = "d:\mysqldump.exe"
Dim host As String = "localhost"
Dim user As String = "root"
Dim pswd As String = "Yourpwd"
Dim dbnm As String = "BaseName"
Dim cmd As String = String.Format("-h{0} -u{1} -p{2} {3}", host, user, pswd, dbnm)
Dim filePath As String = "d:\backup\fieName.sql"
OutputStream = New System.IO.StreamWriter(filePath, False, System.Text.Encoding.UTF8)
Dim startInfo As System.Diagnostics.ProcessStartInfo = New System.Diagnostics.ProcessStartInfo()
startInfo.FileName = mysqldumpPath
startInfo.Arguments = cmd
startInfo.RedirectStandardError = True
startInfo.RedirectStandardInput = False
startInfo.RedirectStandardOutput = True
startInfo.UseShellExecute = False
startInfo.CreateNoWindow = True
startInfo.ErrorDialog = False
Dim proc As System.Diagnostics.Process = New System.Diagnostics.Process()
proc.StartInfo = startInfo
AddHandler proc.OutputDataReceived, AddressOf OnDataReceived1
proc.Start()
proc.BeginOutputReadLine()
proc.WaitForExit()
OutputStream.Flush()
OutputStream.Close()
proc.Close()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CreateBackup()
End Sub
End Class
- 1. Резервное копирование Базы данных Mysql
- 2. Резервное копирование базы данных MySql?
- 3. резервное копирование/копирование базы данных mysql
- 4. Резервное копирование базы данных SQLite с VB.Net
- 5. Резервное копирование данных MySQL?
- 6. Резервное копирование базы данных mysql в xampp?
- 7. Резервное копирование базы данных
- 8. резервное копирование базы данных
- 9. Резервное копирование базы данных
- 10. Резервное копирование базы данных MySql с PHP
- 11. Периодическое резервное копирование базы данных MySQL
- 12. резервное копирование базы данных MySQL на лету
- 13. Резервное копирование часто огромной базы данных MySQL
- 14. Резервное копирование базы данных базы данных
- 15. Резервное копирование большой базы данных
- 16. Резервное копирование базы данных Android
- 17. Резервное копирование базы данных SQL
- 18. Резервное копирование/восстановление базы данных
- 19. Резервное копирование базы данных SQL в VB.NET не работает
- 20. Резервное копирование базы данных Wordpress
- 21. друпал резервное копирование базы данных
- 22. Резервное копирование базы данных SMO
- 23. Резервное копирование файла базы данных
- 24. Резервное копирование базы данных Postgresql
- 25. Резервное копирование базы данных MySQL только с помощью команды MySQL
- 26. резервное копирование базы данных с хрон
- 27. резервное копирование моей локальной базы данных/данных
- 28. Резервное копирование данных базы данных RIAK
- 29. Резервное копирование базы данных WordPress Вопрос
- 30. Резервное копирование базы данных в WebSitePanel
Я продолжаю получать эту ошибку: в System.Windows.Forms произошло необработанное исключение типа «System.IO.FileLoadException».dll Дополнительная информация: Не удалось загрузить файл или сборку 'MySqlBackup, Version = 2.0.9.2, Culture = neutral, PublicKeyToken = null' или одну из его зависимостей. Требуется строго названная сборка. (Исключение из HRESULT: 0x80131044) – 2016-11-01 19:37:22