Programming/C# - Window

C#/ mysql 연동

esoog Polaris 2023. 6. 30. 10:46
반응형

# 기본 참조

https://luckygg.tistory.com/328

 

[데이터베이스] .Net C#에서 MySQL 사용하기 (예제 파일 다운로드)

소개 지난 포스팅에서는 윈도우10에서 MySQL을 사용하기 위한 환경 구성을 소개했었습니다. [데이터베이스] 윈도우10에 MySQL 설치 및 환경 설정하기 [데이터베이스] 윈도우10에 MySQL 설치 및 환경 설

luckygg.tistory.com

 

 

 

 

# 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