[MySQL] Mac에서 MySQL 설치하기
마지막 변경일 : 2024/03/06
Mac의 경우 Brew(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;