@jakayla
Для того чтобы сделать dump базы данных MySQL в C#, нужно использовать консольную утилиту mysqldump. Для вызова этой утилиты из C# кода используйте класс Process из пространства имен System.Diagnostics.
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
using System.Diagnostics; public static void DumpDatabase() { string backupDir = @"C:ackups"; string dbName = "my_database"; string userName = "my_user"; string password = "my_password"; string dumpFileName = "my_database_dump.sql"; Process process = new Process(); process.StartInfo.FileName = "mysqldump"; process.StartInfo.Arguments = $"--user={userName} --password={password} --databases {dbName} > {backupDir}/{dumpFileName}"; process.StartInfo.UseShellExecute = false; process.StartInfo.RedirectStandardOutput = true; process.Start(); process.WaitForExit(); string output = process.StandardOutput.ReadToEnd(); } |
В данном примере мы вызываем утилиту mysqldump и передаем ей параметры: имя пользователя, пароль, имя базы данных и имя файла для выгрузки (dumpFileName). Далее мы указываем путь к директории, где будет храниться backup файл - backupDir.
После запуска утилиты мы ждем, пока она завершит свою работу, а затем выводим стандартный вывод из процесса в переменную output. Если вы хотите сохранять несколько баз данных, добавьте их имена через запятую в параметр --databases.
Обратите внимание, что передача пароля в командной строке не является безопасной практикой, поэтому рекомендуется использовать параметры аутентификации MySQL, чтобы безопасно передавать пароль.