설치
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등 (스네이크 케이스 권장) - 문자열 값은 그대로 유지: 대소문자 구분이 필요한 경우 그대로 작성