MySQL 입문 가이드, 설치부터 테이블 설계·기본 SQL·인덱스·백업과 보안 설정까지
다 읽는 데 약 7분 걸려요알아 두면 마음이 편해지는 이야기예요.
💡 핵심 킬러 메시지
MYSQL은 문법과 함께 '백업과 보안 기본 설정'을 처음부터 습관으로 들이는 것이 핵심이에요.
MYSQL을 설치하고 나서 접속 오류가 계속 나 진도를 못 나갔던 적 있죠. 비밀번호 설정 화면에서 멈칫하기도 하고요.
회원 가입 정보, 게시글, 주문 내역처럼 웹 서비스가 다루는 데이터는 대부분 데이터베이스에 저장돼요. MySQL은 그중에서도 가장 널리 쓰이는 오픈소스 관계형 데이터베이스 중 하나예요. 블로그 플랫폼, 쇼핑몰, 사내 시스템, 대형 웹 서비스까지 폭넓게 쓰이고 있고, 자료와 커뮤니티가 많아 처음 데이터베이스를 배우기에도 좋아요. 이 글은 MySQL을 처음 다루는 사람을 위해 특징과 활용, 설치 방법, 데이터베이스와 테이블 만들기, 기본 SQL 문법, 인덱스와 성능, 백업과 복구, 보안 기본 설정, 공부 방법을 정리했어요. 버전별 기능 차이와 라이선스는 공식 문서를 확인하세요.
📷 사진 1 터미널에서 MySQL 쿼리 결과가 표로 출력된 화면
Alt: MySQL 쿼리 실행
(이 상자를 내 사진으로 바꿔 주세요)
MySQL의 특징과 활용
실수로 데이터를 지워 버리고 백업이 없어 아찔했던 분도 있을 거예요. 기본 습관만 들이면 그런 일을 막을 수 있어요.
- 관계형 데이터베이스: 데이터를 행과 열로 이뤄진 테이블에 저장하고, 테이블끼리 관계를 맺어요.
- SQL 사용: 표준 SQL로 데이터를 조회하고 수정해요.
- 오픈소스 버전 제공: 개인과 기업 모두 부담 없이 시작할 수 있어요.
- 넓은 생태계: 대부분의 웹 호스팅과 클라우드가 MySQL을 지원해요.
워드프레스 같은 설치형 블로그도 MySQL 계열 데이터베이스를 사용해요. 관련 내용은 워드프레스 글에서 다뤘어요. MySQL에서 갈라져 나온 MariaDB도 문법이 거의 같아 함께 알아 두면 좋아요.
📷 사진 2 MYSQL 접속 화면
Alt: MYSQL 접속
(이 상자를 내 사진으로 바꿔 주세요)
설치 방법
| 환경 | 방법 |
|---|---|
| 윈도우 | 공식 설치 프로그램으로 서버와 관리 도구 설치 |
| 맥 | 공식 패키지나 패키지 관리자로 설치 |
| 리눅스 서버 | 배포판 패키지 관리자로 설치 |
| 클라우드 | 관리형 데이터베이스 서비스 생성 |
| 웹호스팅 | 호스팅 관리 화면에서 생성 |
설치할 때 관리자 계정 비밀번호를 안전하게 정하고, 처음에는 그래픽 관리 도구를 함께 설치하면 테이블 구조를 눈으로 확인하기 편해요. 서비스를 올릴 서버 선택은 웹호스팅 글을 참고하세요.
📷 사진 3 그래픽 관리 도구에서 테이블 구조를 보는 화면
Alt: MySQL 관리 도구
(이 상자를 내 사진으로 바꿔 주세요)
📷 사진 4 테이블을 만드는 SQL 화면
Alt: MYSQL 테이블 생성
(이 상자를 내 사진으로 바꿔 주세요)
데이터베이스와 테이블 설계 원칙
- 하나의 테이블에는 하나의 대상(회원, 주문, 상품)만 담아요.
- 모든 테이블에 행을 구분하는 기본 키를 둬요.
- 같은 정보를 여러 테이블에 중복 저장하지 않아요.
- 날짜는 날짜 형식, 숫자는 숫자 형식처럼 알맞은 자료형을 써요.
- 한글과 이모지를 저장하려면 문자 집합을 utf8mb4로 설정해요.
📷 사진 5 조회 결과 화면
Alt: MYSQL SQL 조회
(이 상자를 내 사진으로 바꿔 주세요)
기본 SQL 문법
| 작업 | 명령 | 예시 의미 |
|---|---|---|
| 생성 | CREATE TABLE | 회원 테이블 만들기 |
| 입력 | INSERT | 새 회원 추가 |
| 조회 | SELECT | 조건에 맞는 회원 찾기 |
| 수정 | UPDATE | 회원 정보 변경 |
| 삭제 | DELETE | 탈퇴 회원 삭제 |
| 결합 | JOIN | 회원과 주문을 함께 조회 |
수정과 삭제는 WHERE 조건을 빠뜨리면 모든 행이 바뀌거나 지워지니, 먼저 같은 조건으로 SELECT를 실행해 대상 행을 확인하는 습관을 들이세요. SQL 문법을 체계적으로 익히려면 SQLD자격증 글과 SQLD독학 글이 도움이 돼요.
인덱스와 성능
인덱스는 책의 색인처럼 원하는 데이터를 빨리 찾게 해 줘요. 검색 조건이나 조인에 자주 쓰이는 열에 인덱스를 만들면 조회가 빨라지지만, 너무 많이 만들면 입력과 수정이 느려져요. 느린 쿼리는 실행 계획을 확인하는 명령으로 인덱스를 제대로 쓰는지 살펴보세요. 필요한 열만 조회하고, 큰 테이블에서 전체 조회를 피하는 것도 기본이에요.
📷 사진 6 실행 계획 결과를 분석하는 화면
Alt: MySQL 인덱스 성능
(이 상자를 내 사진으로 바꿔 주세요)
백업과 복구
데이터베이스는 정기 백업이 필수예요. 덤프 도구로 데이터를 파일로 내보내 두고, 백업 파일은 다른 서버나 저장소에 보관하세요. 중요한 것은 백업만 하는 게 아니라 실제로 복구가 되는지 주기적으로 시험해 보는 거예요. 큰 변경 작업 전에는 반드시 백업을 먼저 하세요.
보안 기본 설정
- 관리자 계정을 일상 작업에 쓰지 않고, 서비스별 계정에 필요한 권한만 줘요.
- 데이터베이스 포트를 외부 인터넷에 열어 두지 않아요.
- 비밀번호는 코드에 직접 쓰지 않고 환경 설정으로 분리해요.
- 사용자 입력을 쿼리에 그대로 붙이지 않고 매개변수 방식으로 처리해 SQL 인젝션을 막아요.
MYSQL, 조회가 느려질 때
자주 조회하는 열에 인덱스가 있는지 먼저 확인해 보세요. 다만 인덱스를 너무 많이 만들면 저장이 느려질 수 있으니 필요한 곳에만 두는 것이 좋아요.
MYSQL 체크리스트
| 항목 | 확인할 것 | 체크 |
|---|---|---|
| 설치 | 접속 확인 | ☐ |
| 구조 | 데이터베이스·테이블 | ☐ |
| 문법 | 기본 SQL | ☐ |
| 성능 | 인덱스 | ☐ |
| 관리 | 백업·보안 | ☐ |
공부 방법
작은 가계부나 도서 관리 데이터베이스를 직접 설계해 보세요. 테이블을 나누고 관계를 맺고, 월별 합계나 카테고리별 통계를 SQL로 뽑아 보면 실력이 빠르게 늘어요. 분석 관점의 SQL 활용은 데이터분석 글에서 다뤘어요.
MYSQL 감정 카드: MYSQL 앞에서 이런 마음이라면
읽다가 마음이 머문 대목이 있었다면, 지금 내 상태와 가장 가까운 카드를 골라 보세요.
📷 사진 7 백업 명령 실행 화면
Alt: MYSQL 백업
(이 상자를 내 사진으로 바꿔 주세요)
자주 묻는 질문
MYSQL 공부는 어떻게 하면 좋나요?
작은 예제 데이터로 테이블을 만들고 조회·추가·수정·삭제를 직접 해 보세요. SQL 자격증 공부와 함께하면 정리에 도움이 돼요.
MySQL은 무료인가요?
오픈소스 커뮤니티 버전을 무료로 쓸 수 있고, 상용 버전과 라이선스 조건은 공식 안내를 확인하세요.
MySQL과 MariaDB는 무엇이 다른가요?
MariaDB는 MySQL에서 갈라져 나온 프로젝트로 문법이 거의 같지만 세부 기능은 달라요.
한글이 깨져요.
데이터베이스와 테이블, 연결 설정의 문자 집합을 utf8mb4로 맞추세요.
엑셀 대신 MySQL을 써야 할 때는 언제인가요?
여러 사람이 동시에 쓰거나 데이터가 많고 관계가 복잡해질 때예요.
마무리
MySQL은 테이블 설계, 기본 SQL, 백업과 보안이라는 기초만 잡으면 오래 쓸 수 있는 도구예요. 작은 데이터베이스 하나를 직접 설계하는 것부터 시작해 보세요.
함께 읽으면 좋은 글
필요한 친구에게 한 번에 보내 보세요. 공유는 큰 힘이 돼요.
이 글, 어땠어요?
별을 눌러 평가해 주세요. 한 사람당 한 번만 세요.
아직 평가가 없어요. 첫 평가를 남겨 주세요.
💬 댓글
- 첫 댓글을 남겨 주세요.
