아주 핵심을 짚으셨네요 👏
결론부터 말씀드리면 —
> ✅ MySQL Connector를 “어떻게 포함시켰는가”에 따라 다릅니다.
완전히 프로젝트에 포함(내장) 해서 빌드했다면 별도 설치가 필요 없습니다.
그러나 단순히 참조만 추가(dll 링크만) 했다면 배포 시 함께 넣어줘야 합니다.
---
🔍 자세히 설명하면
1. MySQL Connector의 정체
보통 C#에서는 MySql.Data.dll (또는 MySqlConnector.dll) 파일이 바로 MySQL 연결 라이브러리입니다.
이게 없으면 MySqlConnection, MySqlCommand 등을 인식하지 못합니다.
---
2. Connector를 어떻게 포함시켰느냐에 따라 달라짐
포함 방식 배포 시 요구사항 설명
✅ “로컬 참조 + 복사” (Copy Local=True) 별도 설치 필요 없음 DLL이 bin\Release에 복사되어 실행파일 옆에 배포됨
⚠️ “GAC 설치 의존” (전역설치) 배포 PC에 Connector 설치 필요 Visual Studio가 Connector를 시스템 경로에서 참조 중
✅ “NuGet 패키지 포함” (예: MySql.Data, MySqlConnector) 별도 설치 필요 없음 빌드시 자동으로 DLL을 Output 폴더에 복사
❌ “Connector를 전혀 안 넣고 코드만 컴파일” 반드시 설치 필요 런타임 시 “어셈블리를 찾을 수 없습니다” 오류 발생
---
3. 즉, 배포 전에 이렇게 되어 있다면 안전함
빌드 후 폴더에 ↓ 이런 구조라면
MyApp.exe
MySql.Data.dll ← ✅ 포함됨
이 0 Connector 설치가 없어도 정상 작동합니다.
---
4. 하지만 MySQL 서버는 여전히 필요함
Connector는 클라이언트 라이브러리입니다.
실제 DB에 접근하려면 MySQL 서버는 어딘가(로컬 혹은 원격)에 반드시 있어야 합니다.
---
✅ 정리
항목 필요 여부
MySQL Connector 설치 ❌ (내장 빌드 시 불필요)
MySQL 서버 설치 ✅ (DB 자체가 있어야 접근 가능)
Connection string ✅ (서버 주소, 계정정보 포함)