본문 바로가기

개발리뷰

MySql 사용하기

안녕하세요! 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 사용기를 마칩니다. 읽어주셔서 감사합니다~!