Как делать dump базы данных средствами c# в mysql

Пользователь

от jakayla , в категории: SQL , год назад

Как делать dump базы данных средствами c# в mysql

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от magali , год назад

@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, чтобы безопасно передавать пароль.