안녕하세요! J입니다.
저는 개발 중에 DB가 필요한 경우 SQLite를 주로 쓰는데요. 프로젝트를 완성할 즈음에는 그래서 MySQL로 DB를 교체하는 단계를 거칩니다. 오늘은 왜 MySQL를 사용하는지에 대한 내용과 MySQL로 설정하는 과정에 대해서 정리해보고자 합니다.
About MySQL
MySql은 오픈 소스 데이터베이스 관리 시스템입니다. 즉, 무료이죠. 제가 개발 단계에서 사용하는 Sqlite도 무료인데 왜 MySql은 여러 서비스에서 사용되고 있을까요?
역시나... 성능!
- SQLite: 단일 파일 데이터베이스로 로컬에서 사용되므로 소규모 읽기/쓰기 작업에 적합합니다.
- MySQL: 서버 기반이므로 복잡한 쿼리 및 대량 데이터 처리에 더 적합합니다.
- SQLite: 간단한 파일 복제로 데이터를 백업할 수 있지만, 복잡한 복제가 불가능합니다.
- MySQL: 복제 및 백업을 지원하는 고급 기능을 제공합니다.
- SQLite: 한 번에 하나의 프로세스에서만 액세스할 수 있으므로 다중 동시 사용자를 지원하지 않습니다.
- MySQL: 다중 동시 사용자를 지원하고 수평 및 수직 확장이 가능합니다.
(아직 직접적으로 성능에 대해서 느낀 점은 없습니다.. 생기는대로 추후에 업데이트하도록 하겠습니다!)
아래와 같은 조금 무의미한 비교는 해보았습니다. 제일 아래의 3s 734ms가 MySQL을 사용했을 때의 결과이고, 위의 두 결과가 SQLite를 사용했을 때의 결과입니다. 확실히 로컬에서 테스트하는 목적에서는 SQLite가 더 적합한 것 습니다. MySQL을 사용했을 때 1초가 더 걸렸네요!

그러나...
설정 및 관리에 있어서 Sqlite가 좀 더 간편한 점이 하나가 있습니다.
- SQLite: 설치와 관리가 간단하며, 별다른 구성이 필요하지 않습니다.
- MySQL: 서버 설정 및 관리가 필요하며, DBA (데이터베이스 관리자)의 역할이 중요합니다.
실제로, MySQL을 위해서 WorkBench를 다운로드 받고 서버를 띄워야 사용이 가능합니다.
MySQL로 바꾸기 과정
1. 서버 띄우기 (WorkBench 활용) 및 DB (Schema) 생성
먼저, WorkBench를 열어 주세요.

위의 사진에서 보이는 +버튼을 눌러 새 서버를 띄워줍니다.
그리고 원하는 네이밍으로 DB를 생성해주세요. (힌트: create database ____;)
2. Intellij에서 설정

저는 프로젝트를 계속 이어나가기 위해 주석처리로 SQLite를 비활성화시키고 그 아래에 MySQL을 위한 설정내용을 작성하였습니다.
이전에 JWT에서도 언급했듯이 환경변수를 야무지게 사용해서 보안성을 높여주도록 합시다!
url에 반드시 db의 이름을 포함시켜주세요~!
이상으로 MySQL 사용기를 마칩니다. 읽어주셔서 감사합니다~!
'개발리뷰' 카테고리의 다른 글
| [MyBatis] N개의 INSERT -> 1개의 INSERT (0) | 2025.07.08 |
|---|---|
| RISS 국내 논문 데이터 크롤링 프로젝트 (0) | 2023.10.12 |
| OAuth 2.0 네이버 로그인 개발 리뷰 (0) | 2023.09.22 |