안녕하세요! 오늘부터 MySQL 실전 마스터 및 블로그 연재 1일차를 시작하겠습니다.
첫 번째 시간으로는 전 세계적으로 인기 있는 오픈소스 관계형 데이터베이스 관리시스템(RDBMS)인 MySQL의 정의와 아키텍처 구조에 대해 알아보겠습니다.
1. MySQL이란 무엇인가?
MySQL은 데이터를 구조화된 형식으로 저장, 관리, 그리고 검색할 수 있게 해주는 오픈소스 관계형 데이터베이스 관리시스템(RDBMS, Relational Database Management System)입니다.
- 기본 특징: SQL 쿼리, 인덱싱, 트랜잭션, 그리고 강력한 보안 기능을 지원합니다.
- 활용 분야: 웹 애플리케이션, 엔터프라이즈 소프트웨어, 모바일 앱 개발 등 다양한 규모의 시스템에서 널리 사용됩니다.
- 확장성: 하드웨어를 업그레이드하는 수직적 확장(Vertical Scaling)뿐만 아니라, 클러스터에 서버를 추가하는 수평적 확장(Horizontal Scaling)을 모두 지원하여 대용량 데이터를 처리할 수 있습니다.
2. MySQL의 클라이언트-서버 아키텍처
MySQL은 전형적인 클라이언트-서버(Client-Server) 모델을 기반으로 동작합니다.
- 서버 (mysqld): 데이터를 실제로 저장하고 관리하며, 클라이언트의 요청을 받아 처리하는 핵심 엔진입니다.
- 클라이언트 (mysql 터미널 모니터 등): 사용자가 접속하여 SQL 쿼리를 입력하고 결과를 조회하기 위한 인터페이스 프로그램입니다.
사용자가 클라이언트 프로그램을 통해 접속한 뒤, 서버로 쿼리를 전송하면 서버가 이를 실행하고 결과를 표(Tabular) 형태로 화면에 출력해 줍니다.
3. 간단한 실습: 버전과 현재 날짜 확인하기
MySQL 서버에 정상적으로 접속했다면, 서버의 버전 정보와 현재 날짜를 반환하는 가장 기본적인 쿼리를 실행해 볼 수 있습니다.
SELECT VERSION(), CURRENT_DATE;
결과 :
| VERSION() | CURRENT_DATE |
+-----------+--------------+
| 8.0.13 | 2026-09-23 |
+-----------+--------------+
1 row in set (0.02 sec)
쿼리 작성 시 참고할 점
- 세미콜론(;): SQL 문장은 일반적으로 세미콜론으로 끝맺음을 해야 서버로 전송되어 실행됩니다.
- 대소문자 무시: SQL 키워드(예: SELECT, select, SeLeCt)는 대소문자를 구분하지 않습니다.
- 결과 형태: 결과는 행(Row)과 열(Column)로 이루어진 표 형식으로 반환되며, 처리 소요 시간과 함께 출력됩니다.
마무리하며
오늘은 MySQL이 무엇인지, 그리고 데이터를 주고받는 클라이언트-서버 구조의 기본 개념을 가볍게 살펴보았습니다.
다음 시간에는 [2강. 서버 접속, 인증 및 종료] 주제로 찾아오겠습니다.
'Database > mysql & mariaDB' 카테고리의 다른 글
| [실무 사례] PK를 함부로 변경하면 안 되는 이유: Clustered와 Non-Clustered 인덱스의 나비효과 (0) | 2026.06.22 |
|---|---|
| [MySQL] 복제(Replication) 아키텍처와 데이터 정합성: 복제 지연과 Binlog 포맷 (0) | 2026.06.03 |
| [MySQL/DBA] B+Tree 인덱스 구조와 복합 인덱스 설계 가이드 (feat. 실행 계획 분석) (0) | 2026.06.03 |
| [MySQL/InnoDB] 인덱스가 없으면 테이블이 멈춘다? Row-Level Lock의 함정과 데드락의 비밀 (0) | 2026.06.03 |
| [MySQL Deep Dive] 컬럼 변경할 때 맨 뒤는 괜찮고, 중간은 왜 위험할까? (Online DDL과 MDL의 비밀) (0) | 2026.06.03 |
