반응형
# 기본 참조
https://luckygg.tistory.com/328
# mysql 서버 전체 데이터베이스 목록 가져오기 및 덤프파일 생성하기
public void GetAllMySQLDatabases(string server, string username, string password)
{
try
{
using (MySqlConnection connection = new MySqlConnection($"server=서버;user=유저;password=패스워드;"))
{
connection.Open();
// 데이터베이스 목록 가져오기
using (MySqlCommand cmd = new MySqlCommand("SHOW DATABASES", connection))
using (MySqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
string databaseName = reader["Database"].ToString();
// 덤프파일 생성
DumpSql(databaseName);
}
}
connection.Close();
}
}
catch (Exception ex)
{
}
}
public void DumpSql(string db)
{
try
{
// Allow Zero Datetime=true 옵션: 0000-00-00 00:00:00와 같은
// "zero" datetime 값을 .NET DateTime으로 변환할 수 있음
using (MySqlConnection conn = new MySqlConnection($"server=서버;user=유저;password=패스워드;database={db};Allow Zero Datetime=true;"))
{
using (MySqlCommand cmd = new MySqlCommand())
{
using (MySqlBackup mb = new MySqlBackup(cmd))
{
cmd.Connection = conn;
conn.Open();
mb.ExportToFile("추출 경로 설정");
conn.Close();
}
}
}
}
catch (Exception ex)
{
}
}
728x90
'Programming > C# - Window' 카테고리의 다른 글
C# / 동기(async), 비동기(await), 병렬(parallel) 처리 (0) | 2023.08.04 |
---|---|
C#/ Invoke() (0) | 2023.07.07 |
C#/ 스레드(Thread) (0) | 2023.06.29 |
C#/ 다이나믹(dynamic) (0) | 2023.06.29 |
C#/ LINQ(language integrated query) (0) | 2023.06.29 |