MySQL 설치

1. Homebrew로 MySQL 설치

나는 Homebrew를 패키지 매니저로 사용하고 있어 brew를 활용해서 설치했다. MySQL 홈페이지에서 DMG 파일을 다운받아 설치하는 방법도 있다(linkarrow-up-right).

# ==============================================================================
# 1. Homebrew 버전 확인 및 업데이트
# ==============================================================================
# 터미널에 아래 명령어 입력 후 엔터
brew update

# ==============================================================================
# 2. MySQL 설치
# ==============================================================================
# 터미널에 아래 명령어 입력 후 엔터
brew install mysql@8.0

# ==============================================================================
# 3. 환경변수 설정
# ==============================================================================
# 터미널에 아래 명령어 입력 후 엔터
echo 'export PATH="/opt/homebrew/opt/mysql@8.0/bin:$PATH"' >> ~/.zshrc

# 터미널에 아래 명령어 입력 후 엔터
source ~/.zshrc

# For compilers to find mysql@8.0 you may need to set:
# export LDFLAGS="-L/opt/homebrew/opt/mysql@8.0/lib"
# export CPPFLAGS="-I/opt/homebrew/opt/mysql@8.0/include"

# For pkg-config to find mysql@8.0 you may need to set:
# export PKG_CONFIG_PATH="/opt/homebrew/opt/mysql@8.0/lib/pkgconfig"

MySQL is configured to only allow connections from localhost by default

# ==============================================================================
# 4. 제대로 설치되었는지 확인
# ==============================================================================
# 터미널에 아래 명령어 입력 후 엔터
mysql --version # or mysql -V

# 제대로 환경변수가 설정되었다면 아래와 같이 출력
mysql  Ver 8.0.34 for macos14.0 on arm64 (Homebrew)

"brew install mysql"명령어를 입력할 경우 8.1.0 버전이 설치된다(참고arrow-up-right). AWS RDS 데이터베이스에서 지원하는 최고 버전은 8.0.34이다. 만일 로컬 PC의 DB와 AWS RDS의 DB 버전을 맞추고 싶다면 "mysql@8.0"을 설치해야 한다. 나는 AWS RDS 데이터베이스를 활용할 예정이라 최신 버전이 아닌 8.0.34 버전을 다운로드 했다. MySQL을 설치하면 친절하게 설정과 실행 방법을 알려주니 그대로 잘 따라하면 된다. 설치 후 초기 버전은 root password가 없다. 그래서 따로 설정해야 한다.

tree는 재귀 디렉토리 목록 표시 프로그램이다. tree를 설치하면 현재 터미널 위치에서 하위 폴더 구조를 한 눈에 볼 수 있다.

2. MySQL 설정

  • Would you like to setup VALIDATE PASSWORD component?

    • 비밀번호 설정 질문

    • 0 - Low: 8자 이상

    • 1 - Medium: 8자 이상(숫자, 대소문자 혼합, 특수문자 포함)

    • 2 - Strong: 8자 이상(숫자, 대소문자 혼합, 특수 문자 포함, 비밀번호를 딕셔너리 파일과 비교)

  • Do you wish to continue with the password provided?

    • 방금 설정한 비밀번호를 사용할 것인지를 묻는 질문

  • Remove anonymous users?

    • 익명 계정을 삭제할 것인지 묻는 질문

    • 보안을 위해서는 삭제하는 게 좋음

  • Disallow root login remotely?

    • root 계정 원격 접속을 차단할 것인지 묻는 질문

    • 보안을 위해서는 차단하는 게 좋음

  • Remove test database and access to it?

    • 테스트 데이터베이스를 삭제할 것인지 묻는 질문

  • Reload privilege tables now?

    • 앞선 설정들을 적용하기 위해 권한 테이블을 다시 불러올 것인지 묻는 질문

필요에 따라 질문에 답하면 된다.

간혹 MySQL 서버를 시작할 때 위와 같은 에러가 발생한다. 나는 Apple Silicon 맥북이라 mysql의 설치 경로가 /usr/local/var/mysql이 아닌 /opt/homebrew/var/mysql이었다. 혹시 /usr/local/var/ 폴더 하위에 아무것도 없다면 homebrew 하위 폴더를 확인해보자. 내 경우 설치된 MySQL을 삭제하고 재부팅한 뒤 MySQL을 재설치하니 에러가 해결되었다.

참고 자료

Last updated