[MySQL] 01. MySQL/MariaDB 소개 및 설치
MySQL과 MariaDB의 기본 개념과 설치 방법을 알아봅니다.
MySQL vs MariaDB
| 항목 | MySQL | MariaDB |
|---|---|---|
| 개발사 | Oracle | MariaDB Foundation |
| 라이선스 | GPL + 상용 이중 라이선스 | GPL (완전 오픈소스) |
| 기반 | 독자 개발 | MySQL 5.5에서 포크 |
| 스토리지 엔진 | InnoDB 기본 | InnoDB, Aria, ColumnStore 등 |
| 호환성 | - | MySQL과 높은 호환성 |
| JSON 지원 | 네이티브 JSON 타입 | LONGTEXT 기반 JSON |
MariaDB는 MySQL의 포크(fork)로 시작되었으며, 대부분의 SQL 문법과 도구가 호환됩니다.
이 강좌에서는 MySQL 기준으로 설명하되, MariaDB에서도 동일하게 사용 가능합니다.
설치
Windows
MySQL 설치
- MySQL 다운로드 페이지에서 MySQL Installer 다운로드
mysql-installer-community-x.x.x.msi실행- Setup Type에서
Developer Default또는Server only선택 - 설치 진행 후 root 비밀번호 설정
- Windows Service로 등록 (자동 시작 설정 가능)
MariaDB 설치
- MariaDB 다운로드 페이지에서 MSI 패키지 다운로드
mariadb-x.x.x-winx64.msi실행- root 비밀번호 설정
- Windows Service 등록
설치 확인
mysql -u root -p
-- 비밀번호 입력 후
SELECT VERSION();
-- 예: 8.0.36 또는 10.11.6-MariaDB
Mac
Homebrew를 이용한 설치
# MySQL 설치
brew install mysql
brew services start mysql
# MariaDB 설치
brew install mariadb
brew services start mariadb
초기 보안 설정
mysql_secure_installation
이 명령어를 실행하면 아래 항목을 설정할 수 있습니다.
- root 비밀번호 설정/변경
- 익명 사용자 제거
- 원격 root 로그인 차단
- test 데이터베이스 제거
Linux (Ubuntu/Debian)
# MySQL
sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql
# MariaDB
sudo apt update
sudo apt install mariadb-server
sudo systemctl start mariadb
서비스 관리 명령어
| 기능 | Windows (CMD) | Mac (Homebrew) | Linux (systemd) |
|---|---|---|---|
| 시작 | net start mysql |
brew services start mysql |
sudo systemctl start mysql |
| 중지 | net stop mysql |
brew services stop mysql |
sudo systemctl stop mysql |
| 재시작 | net stop mysql && net start mysql |
brew services restart mysql |
sudo systemctl restart mysql |
| 상태 확인 | sc query mysql |
brew services list |
sudo systemctl status mysql |
접속 방법
CLI 접속
# 로컬 접속
mysql -u root -p
# 원격 접속
mysql -h 호스트주소 -P 포트번호 -u 사용자명 -p
주요 접속 옵션
| 옵션 | 설명 | 예시 |
|---|---|---|
-h |
호스트 주소 | -h 192.168.1.100 |
-P |
포트 번호 (기본 3306) | -P 3307 |
-u |
사용자명 | -u root |
-p |
비밀번호 입력 프롬프트 | -p |
-D |
기본 데이터베이스 지정 | -D mydb |
GUI 도구
| 도구 | 특징 | 가격 |
|---|---|---|
| MySQL Workbench | MySQL 공식 도구, ERD 지원 | 무료 |
| DBeaver | 다중 DB 지원, 범용 도구 | 무료 (Community) |
| HeidiSQL | 가볍고 빠름, Windows 전용 | 무료 |
| DataGrip | JetBrains 제품, 강력한 자동완성 | 유료 |
| Sequel Pro / Sequel Ace | Mac 전용, 직관적 UI | 무료 |
- [MySQL] 13. 자주 발생하는 Troubleshooting
- [MySQL] 12. 성능 튜닝 (Performance Tuning)
- [MySQL] 11. 백업과 복구 (Backup & Restore)
- [MySQL] 10. 사용자 관리와 권한 (User & Privilege)
- [MySQL] 09. 뷰, 스토어드 프로시저, 함수, 트리거
- [MySQL] 08. 트랜잭션과 락 (Transaction & Lock)
- [MySQL] 07. 인덱스 (Index)
- [MySQL] 06. 내장 함수 정리
- [MySQL] 05. 서브쿼리와 고급 SELECT
- [MySQL] 04. JOIN (테이블 결합)
- [MySQL] 03. CRUD 기본 (INSERT, SELECT, UPDATE, DELETE)
- [MySQL] 02. 데이터베이스와 테이블 관리
- [MySQL] 01. MySQL/MariaDB 소개 및 설치