MariaDB는 MySQL의 발전된 형태의 대체제로써,여기에서 다운로드 받을 수 있으며,
GPL v2 라이센스로 유지되고 있고,MariaDB 커뮤니티와 MariaDB 재단이 주축이 되어 개발되고 있다.
(중략..)
MariaDB 는 현재까지 최신의 MySQL과 같은 브랜치로부터 릴리즈되며, 대개의 경우 MySQL과 마찬가지로 동작한다.
MySQL의 모든 명령어, 인터페이스, 라이브러리와 API 가 MariaDB에도 존재한다.
또한 MariaDB로 데이터베이스를 변환할 필요도 없다.
즉, MariaDB 는 사실상 MySQL의 완벽한 대체제라고 말할 수 있다!
게다가, MariaDB는 보다 많은 훌륭한 새로운 기능들을 갖고 있다.
출처 :https://mariadb.com/kb/ko/mariadb-korean-mariadb/
MySQL은 DO SOPT 서버 파트 세미나에서 공식적으로 사용하는 RDBMS인데요.
저는 다른 팀 프로젝트에서 MariaDB를 사용해서 둘 다 설치해야 하는 상황입니다.
하지만 MariaDB와 설정 파일, 명령어 등 거의 모든 곳에서 같은 아키텍처를 가지고 있기에 MySQL과 MariaDB를 로컬에서 모두 설치하게 되면 많은 오류를 만날 수 있게 됩니다.
물론 로컬에 MySQL, MariaDB 둘 다 설치하는 것은 가능하지만 설정파일과 Port 정보를 3306, 3307로 다르게 주어야 하는 등 골치 아픈 문제가 많아서 저는 Docker를 이용하여 MariaDB를 띄우기로 하였습니다.
Mac
Windows
Install Docker Desktop on Windows
각 OS의 사정에 맞게 Docker Desktop
이라는 프로그램을 설치해 줍니다.
그리고 Docker Desktop을 실행시켜줍니다.
💡 Docker의 사전적 의미 : 부두에서 컨테이너를 다루는 노동자
도커는 개발환경을 쉽게 세팅할 수 있고 컴퓨터 자원을 훨씬 적게 차지할 수 있는 기술로, 컨테이너 환경에서 독립적으로 애플리케이션을 실행할 수 있도록 컨테이너를 만들고 관리하는 것을 도와주는 도구입니다.
Docker 소개는 이쯤으로 마무리하고 실제 제가 MariaDB를 설치한 과정을 소개해드리겠습니다.
docker pull mariadb
docker images
docker run --name maria-db -p 3307:3306 -e MYSQL_ROOT_PASSWORD={비밀번호} -d mariadb
docker ps
2번째 이미지에 mariadb가 인바운드 3307, 아웃바운드 3306으로 설정되어 있는 것을 볼 수가 있습니다.
mysql -u root -p -h 127.0.0.1 -P 3307
이후 들어가게 되면 아까 설정했던 MYSQL_ROOT_PASSWORD 비밀번호
를 입력하면 성공적으로 접속할 수 있게 된다!
그리고 주의할 점은 spring application.yml에서 mariadb를 설정할 때
url: jdbc:mariadb://localhost:3307/{db명}
해당과 같이 3307 포트로 명시해줘야 한다.