DataBase/MySQL

[MySQL] Mac에서 MySQL 설치하기

S0PH1A 2019. 5. 10. 15:00
반응형
마지막 변경일 : 2024/03/06

 

Mac의 경우 Brew(HomeBrew)를 통해 쉽게 설치 가능하다.

만약 HomeBrew가 설치 안되어 있는 경우엔 터미널에서 아래 명령어로 설치 가능하다.
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

# MySQL 설치

$ brew install mysql

특정 버전으로 설치하고 싶은 경우 먼저 brew에 지원하는 버전을 확인한 후에 설치 가능하며, 현재(2024.03.06)기준 5.7, 8.0, 최신(8.3) 버전 총 3가지만 지원되는 걸로 확인된다. 

// 지원하는 mysql 버전 확인
$ brew search mysql

// 8.0 버전 설치
$ brew install mysql@8.0

 

설치 완료 후 설치 메시지를 확인해보면 중간쯤에 필요하면 추가하라고 되어 있는 부분이 있는데 이걸 추가해야지 mysql 명령어 실행이 가능하다. 최신 버전인 경우 자동으로 등록되어 있으나 특정 버전으로 설치한 경우 vim(또는 vi)으로 ~/.zshrc 를 열어보고 해당 정보가 존재하지 않으면 명령어를 입력해서 추가해 주면 된다. ( 8.0은 자동 등록됬으나, 5.7은 echo로 수동 등록해야함 )

만약 echo 명령어로 추가한 경우 바로 적용을 위해 다음 명령어를 입력해야 한다.

$ source ~/.zshrc

 

 

 

# MySQL 서버 실행/종료/재시작

MySQL 서비스를 시작해야지 mysql에 접속이 가능하다. 아래 명령어로 서버 실행 가능하다.

// 시작
$ mysql.server start
// 종료
$ mysql.server stop
// 재시작
$ mysql.server restart

만약, 특정 버전으로 설치한 경우 아래 명령어를 이용해서 실행 가능하다.

// 시작
$ brew services start mysql@8.0
// 종료
$ brew services stop mysql@8.0
// 재시작
$ brew services restart mysql@8.0

 

# MySQL 초기 설정

MySQL 접속하려면 계정이 필요하다. mysql_secure_installation 명령어를 입력해서 root 계정에 새로운 패스워드를 생성하여 초기 설정이 가능하다.

$ mysql_secure_installation
  • secure enough. Would you like to setup VALIDATE PASSWORD component?
    • 비밀번호 가이드 설정
    • YES: 복잡한 비밀번호 설정 ( 예, 12#abc )
    • NO: 쉬운 비밀번호 설정 ( 예, 0000 )
  • New password
  • Re-enter new password
    • 새로운 비밀번호 입력
  • Remove anonymous users? (Press y|Y for Yes. any other key for No)
    • 로그인시 사용자 설정
    • YES: `mysql -uroot -p` 처럼 로그인
    • NO: `mysql` 로 로그인
  • Disallow root login remotely? (Press y|Y for Yes, any other key for No)
    • 다른 IP에서 root 아이디 원격 접속 허용 여부
  • Remove test database and access to it? (Press y|Y for Yes, any other key for No)
    • 테스트 데이터베이스 생성 여부
  • Reload privilege tables now? (Press y|Y for Yes, any other key for No)
    • 변경 권한을 테이블에 적용할 지 설정

# my.cnf 설정

◎ my.cnf 파일 위치 확인

$ mysql --verbose --help | grep my.cnf

/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf

출력되는 결과의 앞부터 우선순위를 갖으며 나 같은 경우 /usr/local/etc/my.cnf 에 있었다.

 

 인코딩을 utf8로 변경

mysql 8 버전부터는 utf8이 아닌 utf8mb4이다. 하지만 mysql8 부터는 자동으로 utf8mb4로 설정해줘서 굳이 변경할 필요는 없다.

[mysqld] 
init_connect="SET collation_connection=utf8_general_ci" 
init_connect="SET NAMES utf8"
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

 

워크벤치나 터미널에서 접속한 mysql에서 인코딩 형식을 확인해 볼 수 있다.

SHOW variables like "char%";

// collection까지 같이 확인하고 싶은 경우
SELECT SCHEMA_NAME AS 'database', DEFAULT_CHARACTER_SET_NAME AS 'character_set', DEFAULT_COLLATION_NAME AS 'collation'
FROM information_schema.SCHEMATA;
반응형