MYSQL

맥북 MariaDB 설치하기 & GUI 툴(Sequel Pro)

_알파카 2024. 3. 8. 17:46
728x90

* 2024년 3월 11일 기준, MariaDB 상에서 WITH 구문 사용 시 에러가 발생하기에, 

필자는 MariaDB 대신 MySQL로 다시 설치를 하였다. 

GUI 툴 역시 Sequel Pro의 업데이트가 중단되어, 유사한 Sequel Ace로 다시 설치하였다. (사용방법 동일)

2024.03.11 - [SQL] - Mac MariaDB "doesn't exist in engine" 에러 해결 + MySQL 설치 방법

 

Mac MariaDB "doesn't exist in engine" 에러 해결 + MySQL 설치 방법

드디어 Mac의 MariaDB에서 일어나는 "Table 'XXX' doesn't exist in engine" 에러를 해결하였다. (이 에러 때문에 3일은 고생한듯하다^^) 날짜: 2024년 3월 11일 기준 OS: MacBook M3 Pro Sonoma 14.3 MariaDB 11.3.2 버전 다른

yeonnys.tistory.com

 

SQL을 활용하기 위한 MariaDB를 설치해보자. 

MySQL VS MariaDB

들어가기 전 MySQL과 MariaDB를 비교해보자면, 

데이터베이스에는 관계형 데이터베이스와 비관계형데이터베이스가 있다. 

관계형 데이터베이스의 대표적인 예로는 MySQL이 있고, 

비관계형데이터베이스의 대표적인 예로는 MongoDB가 있다. 

 

그렇다면, MySQL과 MariaDB는 무엇일까?

두 가지 모두 관계형데이터베이스로, SQL을 사용하기 위한 프로그램이며, 

비슷한 기능을 가지고 있다 생각하면 된다. 

 

MySQL

MySQL은 1990년대에 개발된 오픈 DB로, 오랜 시간 동안 사용되어온 만큼 성능이 개선되었고, 신뢰성이 높다. 

오픈소스이며 다중사용자와 다중 스레드를 지원하고, 

C/C++, J 등 여러 프로그래밍 언어를 위한 다양한 API를 제공한다. 

특히, 윈도우, 리눅스, 유닉스 등 다양한 OS에서 사용할 수 있다는 장점이 있다.

 

MariaDB

MariaDB는 2009년에 MySQL의 창시자가 MySQL을 fork한 서비스로, MySQL의 개선된 버전이다. 

MySQL과의 호환성이 매우 높으며, MySQL에는 없는 수많은 기능들이 내장되어 있다. 

특히 MySQL에 비해 향상된 속도를 보이고있다. 

 

그래서 어떤거?

MySQL과 MariaDB는 거의 동일하다고 생각하면 된다. 

특히, MariaDB의 실행 프로그램들을 MySQL과 이름까지 모두 동일하다.

그러나 동일한 사양에 속도도 빠른 MariaDB를 사용하는 것이 좋다. 

비교적 최근에 나온 것이지만 오픈소스이기에 커뮤니티가 활성화되어 있고, 그렇게되면 나중에 오류를 해결할 때도 쉬울 것이다. 

 

맥북에서 MariaDB 설치하기

그렇다면, 이제 맥북에서 MariaDB를 설치해보겠다. 

필자의 컴퓨터는 M3 Pro 모델이다. 

 

1. HomeBrew 설치하기

이 과정은 이전 게시물을 참고 바란다! 

2024.03.04 - [기타] - 맥북 개발자 초기 환경설정하기

 

맥북 개발자 초기 환경설정하기

맥북 구매 후 간지나는 개발환경을 설정하기 위한 방법을 소개하겠습니다. 아래의 유튜브와 다수의 블로그 글을 참고하여 정리했습니다! https://www.youtube.com/watch?v=zLpnbnRB0kU 1) 홈브루(Homebrew) 설치

yeonnys.tistory.com

 

2. brew를 통해 MarIaDB 설치하기

homebrew가 설치되었다면, brew를 통해 mariadb를 설치한다.

brew install mariadb

 

설치가 완료되면, 다음 명령어를 통해 버전을 확인한다. 

mariadb -V

 

아래처럼 start 및 stop을 통해 mariadb의 활용상태를 알 수 있다!

# MariaDB 서버 실행
brew services start mariadb
 
# MariaDB 서버 중지
brew services stop mariadb
 
#MariaDB 데몬으로 서버 재시작
brew services restart mariadb
 
#mariadb 서버 실행 확인 - 데몬으로 실행되고 있는 프로그램들 확인
brew services list

 

3. MariaDB 기본설정

이제 MariaDB을 실행하여 기본 설정을 진행해보자. 

먼저, MariaDB를 실행하고 접속하겠다. 

brew services start mariadb
mariadb

 

정상적으로 접근된 모습이다. 

 

아래 명령어로 데이터베이스를 출력한 후, 

show databases;

 

다음 명령어로 mysql을 선택하면 none이 mysql로 변경되는 것을 확인할 수 있다.

use mysql

 

이제, 아래의 sql문을 실행하여 user 테이블에서 host, user, password를 표시한다. 

select host, user, password from user;

 

확인을 해보면 root 계정의 password가 invalid인 것을 확인할 수 있다. 

이제 비밀번호를 설정해보자. 

# 비밀번호 설정
set password for 'root'@'localhost'=password('설정 할 비밀번호');

# 변경한 내용 반영
flush privileges;

 

여기서 root 계정은 mariadb만의 루트 계정이므로, 자유롭게 절대 까먹지 않을 비밀번호로 설정하면 된다. 

(보통 계정명과 같은 root로 비밀번호를 많이 설정한다. )

 

이제, 설정한 비밀번호를 확인해보자. 

select host, user, password from user;

 

(이 때, root 계정의 비밀번호는 암호화가 된 상태로 뜬다!)

 

이제 \q 또는 exit를 통해 종료한다. 

# 종료 코드 (1)
\q

# (2)
exit

 

4. MariaDB mysql root 연결하기

이제, mysql을 터미널 상에서 사용하기 위한 방법을 알아보자. 

sudo mysql -u root -p

 

이 때 처음에 입력하는 password는 맥북의 password이고, 

enter password에는 위에서 정한 root 계정의 password를 입력한다. 

 

이제 자유롭게 테이블 생성 및 쿼리문 실행을 할 수 있다. 

 

5. MariaDB GUI 툴 설치하기

SQL을 터미널로 실행하기에는 어려운 점이 많다.

따라서 MariaDB를 사용하기 위한 GUI 툴을 설치해보자. 

MySQL workbench 등 여러가지 툴이 많지만, 

맥북에서 잘 돌아간다는 Sequel Pro 라는 툴을 사용해보겠다!

https://www.sequelpro.com/

 

Sequel Pro

Perfect Web Development Companion Whether you are a Mac Web Developer, Programmer or Software Developer your workflow will be streamlined with a native Mac OS X Application!

www.sequelpro.com

위의 링크에 들어가 설치를 진행하면, 아래의 이미지와 같은 화면이 뜬다. 

 

Host: Database 주소 (127.0.0.1  은 local의 주소이다) 

Username : 접속할 user name (root)

password : password (앞서 설정한 root 계정의 비밀번호)

 

이므로, 다음과 같이 입력해준 후, Connect 버튼을 눌러주면 된다. 

 

정상적으로 연결된 것을 확인할 수 있다. 

'

이제 자유롭게 DB를 생성하거나 쿼리문을 작성할 수 있다! 

(Sequel Pro를 사용하기 위해서는 아래 코드를 통해 서버를 실행해야한다!)

brew services start mariadb

 

6. 기본 보안 설정하기

추가적으로 mariaDB의 기본 보안을 설정해보자. 

MariaDB 서버가 실행된 상태에서 다음의 코드를 입력한다. 

sudo mariadb-secure-installation

 

그 후, 맥의 비밀번호를 입력하고, 앞서 설정한 root 계정의 비밀번호를 입력한다. 

 

이제 여러 가지 질문이 나올 것인데, 

1) MariaDB 계정을 유닉스 소켓을 통해 인증하겠습니까 ? \ n

2) 현재 루트 계정의 비밀번호를 바꾸겠습니까 ? \ n

3) 익명 사용자 계정을 삭제하겠습니다? \ y

4) 루트 계정의 원격접속을 차단하겠습니까 ? \ n

5) 테스트데이터베이스와 그 접근정보를 제거하시겠습니까 ? \ y

6) 권한 정보를 새로고침 하시겠습니까 ? \ y

 

끄읏-!

 

 

728x90