Mac MySQL 설치 및 실행

설치

Homebrew를 사용한 MySQL 설치 방법이다.

# MySQL 설치
brew install mysql # 9.0
brew install mysql@8.0

# 설치 확인
mysql --version

# 8.0 인 경우
brew link --force mysql@8.0

실행

서비스로 실행 (권장)

# MySQL 서비스 시작
brew services start mysql

# MySQL 서비스 중지
brew services stop mysql

# MySQL 서비스 재시작
brew services restart mysql

# MySQL 서비스 상태 확인
brew services list

MySQL 접속

# root 사용자로 접속 (비밀번호 입력 필요)
mysql -u root -p

비밀번호 초기화

비밀번호를 잃어버렸을 때 초기화하는 방법이다.

1. MySQL 서버 중지

# 서비스로 실행 중인 경우
brew services stop mysql

# 수동으로 실행 중인 경우
mysql.server stop

2. 안전 모드로 MySQL 시작

# MySQL을 안전 모드로 시작 (인증 없이 접속 가능)
mysqld_safe --skip-grant-tables &

또는 MySQL 8.0 이상의 경우:

# MySQL을 안전 모드로 시작
mysqld_safe --skip-grant-tables --skip-networking &

3. MySQL 접속 및 비밀번호 재설정

# 비밀번호 없이 접속
mysql -u root

# MySQL 콘솔에서 실행
USE mysql;

# MySQL 8.0 이상
ALTER USER 'root'@'localhost' IDENTIFIED BY '새비밀번호';
FLUSH PRIVILEGES;

# 종료
EXIT;

5. 정상 모드로 MySQL 재시작

# MySQL 서비스 시작
brew services start mysql

# 또는 수동 시작
mysql.server start

6. 새 비밀번호로 접속 확인

# 새 비밀번호로 접속
mysql -u root -p

SQL 작성 시 주의사항

✔️ 문자열은 무조건 작은따옴표 ' ' 사용

# 올바른 예시
WHERE status = 'ACTIVE';
WHERE name = '홍길동';
WHERE created_at = '2024-01-01';

# 잘못된 예시
WHERE status = "ACTIVE";  # 큰따옴표는 사용하지 않음
WHERE name = 홍길동;      # 따옴표 없이 사용하면 오류

✔️ 테이블/컬럼명은 백틱 ` 사용

# 올바른 예시
SELECT `name` FROM `user`;
SELECT `id`, `name`, `email` FROM `users`;
SELECT * FROM `order` WHERE `status` = 'ACTIVE';

# 잘못된 예시
SELECT name FROM user;  # 예약어나 특수문자 포함 시 오류 가능
SELECT * FROM order;    # ORDER는 예약어이므로 오류 발생

이유:

  • 백틱을 사용하면 예약어나 특수문자가 포함된 테이블/컬럼명도 안전하게 사용 가능
  • 코드의 가독성과 유지보수성 향상
  • 데이터베이스 간 이식성 향상

✔️ 대소문자 구분하여 가독성 높이기

  • SQL 키워드는 대문자: SELECT, FROM, WHERE, INSERT, UPDATE, DELETE, ORDER BY, GROUP BY
  • 테이블명과 컬럼명은 소문자: users, user_id, created_at 등 (스네이크 케이스 권장)
  • 문자열 값은 그대로 유지: 대소문자 구분이 필요한 경우 그대로 작성