Skip to main content
Summary

실습 환경을 먼저 안정적으로 만들기

MySQL을 배우려면 먼저 직접 실행해 볼 수 있는 환경이 필요합니다. SQL 문법은 눈으로 읽는 것보다 직접 입력하고 결과를 확인할 때 빠르게 익숙해집니다. 이 장의 목표는 MySQL Server를 설치하고, 명령줄과 GUI 도구에서 모두 접속할 수 있는 상태를 만드는 것입니다.

MySQL 학습 환경에는 세 가지 요소가 있습니다.

  • MySQL Server: 실제 데이터를 저장하고 SQL을 실행하는 데이터베이스 서버입니다.

  • 명령줄 클라이언트: 터미널이나 명령 프롬프트에서 mysql 명령으로 서버에 접속하는 도구입니다.

  • GUI 도구: MySQL Workbench처럼 화면에서 쿼리를 작성하고 테이블을 확인하는 도구입니다.

처음에는 명령줄과 GUI를 모두 준비하는 것이 좋습니다. 명령줄은 SQL 동작을 정확히 이해하는 데 도움이 되고, Workbench는 테이블 구조와 실행 결과를 한눈에 확인하기 좋습니다.

MySQL 설치와 학습 환경 만들기AI 생성 이미지

운영체제별 설치 방법 선택하기

MySQL은 운영체제마다 설치 방식이 조금 다릅니다. 하지만 핵심은 같습니다. 서버를 설치하고, 서비스를 실행한 뒤, mysql -u root -p로 접속이 되는지 확인하면 됩니다.

Windows

Windows에서는 공식 MySQL Installer를 사용하는 방법이 가장 쉽습니다. MySQL Community Server 또는 MySQL Installer를 내려받아 실행합니다. 설치 유형은 학습 목적이라면 Developer Default를 선택해 Server, Workbench, Shell 등을 함께 설치하거나, 가볍게 시작하려면 Server Only를 선택할 수 있습니다.

설치 과정에서 root 비밀번호를 설정합니다. 이 비밀번호는 MySQL 최고 관리자 계정의 비밀번호이므로 잊어버리지 않게 안전하게 보관해야 합니다. 설치가 끝나면 시작 메뉴에서 MySQL Command Line Client를 실행하거나 명령 프롬프트에서 다음 명령을 입력합니다.

mysql -u root -p

비밀번호를 입력한 뒤 mysql> 프롬프트가 보이면 접속에 성공한 것입니다.

macOS

macOS에서는 Homebrew를 사용하는 방법이 간단합니다. Homebrew가 설치되어 있다면 다음 명령으로 MySQL을 설치하고 실행할 수 있습니다.1

brew install mysql
brew services start mysql
mysql_secure_installation
mysql -u root -p

Homebrew를 사용하지 않는다면 MySQL 공식 사이트에서 macOS용 DMG 설치 파일을 내려받아 설치할 수 있습니다. 설치 마법사에서 라이선스 동의, 설치 위치, root 비밀번호 설정을 진행하면 됩니다.

Ubuntu

Ubuntu에서는 apt 패키지 관리자를 사용합니다.

sudo apt update
sudo apt install mysql-server
sudo service mysql start
sudo service mysql status

상태 확인 결과에서 MySQL 서비스가 실행 중이면 접속을 시도합니다.

sudo mysql

설치 방식에 따라 root 계정이 비밀번호 대신 운영체제 인증 방식으로 접속될 수 있습니다. 학습용 계정을 따로 만들 예정이므로, root 접속 방식이 조금 달라도 걱정하지 않아도 됩니다.

CentOS 계열

CentOS나 RHEL 계열에서는 yum 또는 dnf를 사용합니다. 환경에 따라 저장소 설정이 필요할 수 있지만, 기본 흐름은 다음과 같습니다.

sudo yum update
sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld

일부 설치에서는 임시 root 비밀번호가 로그 파일에 기록됩니다.

sudo grep 'temporary password' /var/log/mysqld.log

이 비밀번호로 접속한 뒤 보안 설정 과정에서 새 비밀번호로 변경합니다.

서버 실행과 접속 확인

설치가 끝났다면 서버가 실행 중인지 확인해야 합니다. MySQL은 서버 프로그램이 실행 중일 때만 클라이언트가 접속할 수 있습니다.

macOS Homebrew 환경에서는 다음 명령을 사용합니다.

brew services list

Ubuntu에서는 다음 명령으로 확인합니다.

sudo service mysql status

CentOS 계열에서는 다음 명령을 사용합니다.

sudo systemctl status mysqld

Windows에서는 서비스 앱에서 MySQL80과 같은 이름의 서비스가 실행 중인지 확인할 수 있습니다.

접속 확인은 모든 운영체제에서 비슷합니다.

mysql -u root -p

명령의 의미는 간단합니다.

  • mysql: MySQL 명령줄 클라이언트를 실행합니다.

  • -u root: root 사용자로 접속합니다.

  • -p: 비밀번호를 입력하겠다는 뜻입니다.

접속에 성공하면 다음과 비슷한 프롬프트가 나타납니다.

mysql>

이제 SQL을 입력할 수 있습니다. 접속을 종료하려면 다음 명령을 사용합니다.

exit;

기본 보안 설정 점검하기

설치 직후에는 보안 설정을 점검해야 합니다. 학습 환경이라도 root 계정을 그대로 방치하거나 익명 사용자를 남겨 두는 습관은 좋지 않습니다.

많은 환경에서 다음 명령을 사용할 수 있습니다.

mysql_secure_installation

이 과정에서는 보통 다음 항목을 확인합니다.

  • root 비밀번호 설정 또는 변경

  • 익명 사용자 제거

  • 원격 root 접속 제한

  • 테스트 데이터베이스 제거

  • 권한 테이블 다시 로드

질문이 나오면 학습용 로컬 환경에서는 대체로 안전한 쪽을 선택하면 됩니다. 예를 들어 익명 사용자는 제거하고, 원격 root 접속은 막고, 테스트 데이터베이스도 제거하는 편이 좋습니다.

중요한 원칙은 하나입니다. root는 관리자 작업에만 사용하고, 실습과 애플리케이션 접속에는 별도 계정을 사용합니다. 이 습관은 뒤에서 사용자와 권한을 배울 때도 계속 이어집니다.

MySQL Server, Shell, Workbench의 역할

설치 도중 비슷한 이름의 도구가 여러 개 보이면 혼란스러울 수 있습니다. 역할을 구분하면 쉽습니다.

MySQL Server는 데이터베이스의 본체입니다. 테이블을 만들고, 데이터를 저장하고, SQL을 실행합니다. 서버가 꺼져 있으면 어떤 클라이언트도 접속할 수 없습니다.

mysql 명령줄 클라이언트는 가장 기본적인 접속 도구입니다. 터미널에서 SQL을 직접 입력합니다. 책의 예제를 정확히 따라 하기에는 이 방식이 가장 단순합니다.

MySQL Shell은 더 확장된 명령줄 도구입니다. SQL뿐 아니라 JavaScript, Python 모드도 지원합니다. 이 책에서는 기본 SQL 학습이 목적이므로 mysql 클라이언트만으로도 충분합니다.

MySQL Workbench는 GUI 관리 도구입니다. 접속 정보를 저장하고, SQL 편집기를 열고, 테이블 목록과 구조를 화면에서 확인할 수 있습니다. 실무에서도 많이 사용하는 도구이므로 함께 익혀 두면 좋습니다.

Workbench에서 새 연결을 만들 때는 보통 다음 값을 입력합니다.

  • Hostname: 127.0.0.1 또는 localhost

  • Port: 3306

  • Username: root 또는 실습용 계정

  • Password: 설정한 비밀번호

포트 3306은 MySQL의 기본 접속 포트입니다. 이미 다른 MySQL 서버가 같은 포트를 사용 중이면 충돌이 날 수 있습니다.

문자셋과 콜레이션 확인하기

한글 데이터를 다룰 예정이라면 문자셋 설정을 확인해야 합니다. 문자셋은 문자를 저장하는 방식이고, 콜레이션은 문자열을 비교하고 정렬하는 규칙입니다.

MySQL에 접속한 뒤 다음 명령을 실행합니다.

SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';

학습 환경에서는 utf8mb4를 사용하는 것이 좋습니다. utf8mb4는 한글뿐 아니라 이모지 같은 다양한 문자도 저장할 수 있습니다.

새 데이터베이스를 만들 때도 문자셋과 콜레이션을 명시해 두면 좋습니다.

CREATE DATABASE mysql_book
  DEFAULT CHARACTER SET utf8mb4
  DEFAULT COLLATE utf8mb4_0900_ai_ci;

만약 MySQL 버전이나 환경에 따라 utf8mb4_0900_ai_ci를 사용할 수 없다면 다음처럼 일반적인 콜레이션을 사용할 수 있습니다.

CREATE DATABASE mysql_book
  DEFAULT CHARACTER SET utf8mb4
  DEFAULT COLLATE utf8mb4_general_ci;

실습용 계정 만들기

root 계정으로 계속 실습하는 것은 권장하지 않습니다. 실수로 중요한 데이터베이스를 삭제하거나 서버 설정을 바꿀 수 있기 때문입니다. 이제 책에서 사용할 실습용 계정을 만들겠습니다.

root로 접속한 상태에서 다음 SQL을 실행합니다.

CREATE USER 'study_user'@'localhost' IDENTIFIED BY 'StudyPass!123';

GRANT ALL PRIVILEGES ON mysql_book.*
TO 'study_user'@'localhost';

FLUSH PRIVILEGES;

이 계정은 localhost, 즉 현재 컴퓨터에서만 접속할 수 있습니다. 권한도 mysql_book 데이터베이스 안으로 제한했습니다. 학습에는 충분하고, root를 계속 사용하는 것보다 안전합니다.

이제 root 접속을 종료하고 실습 계정으로 다시 접속합니다.

mysql -u study_user -p mysql_book

비밀번호를 입력한 뒤 접속되면 준비가 거의 끝났습니다.

샘플 테이블로 설치 검증하기

마지막으로 간단한 테이블을 만들고 데이터를 넣어 보겠습니다. 이 과정은 설치가 제대로 되었는지 확인하는 동시에 다음 장부터 사용할 SQL 감각을 익히는 첫 실습입니다.

CREATE TABLE students (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  email VARCHAR(100) UNIQUE,
  grade INT NOT NULL,
  score DECIMAL(5,2),
  city VARCHAR(50),
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

테이블을 만들었다면 데이터를 추가합니다.

INSERT INTO students (name, email, grade, score, city)
VALUES
  ('김민준', '[email protected]', 1, 87.50, '서울'),
  ('이서연', '[email protected]', 2, 92.00, '부산'),
  ('박지호', '[email protected]', 1, 76.50, '대전');

조회해 봅니다.

SELECT id, name, grade, score, city
FROM students;

결과에 세 명의 학생이 보이면 명령줄 환경은 정상입니다. 이제 같은 접속 정보를 Workbench에 등록하고 다음 SQL을 실행해 봅니다.

USE mysql_book;

SELECT id, name, grade, score, city
FROM students;

명령줄과 Workbench에서 같은 결과가 보이면 실습 환경이 완성된 것입니다.

자주 만나는 설치 문제

설치 과정에서 오류가 나도 대부분은 원인이 단순합니다.

mysql 명령을 찾을 수 없다는 메시지가 나오면 MySQL 실행 파일 경로가 PATH에 등록되지 않은 것입니다. Windows에서는 MySQL 설치 폴더의 bin 경로를 환경 변수 PATH에 추가해야 할 수 있습니다. macOS나 Linux에서는 터미널을 새로 열거나 설치 경로를 확인합니다.

Access denied가 나오면 사용자 이름, 접속 호스트, 비밀번호 중 하나가 맞지 않는 경우가 많습니다. root와 study_user의 비밀번호를 혼동하지 않았는지 확인합니다.

Can't connect to MySQL server가 나오면 서버가 실행 중인지 먼저 확인합니다. 서비스가 꺼져 있으면 클라이언트 명령은 성공할 수 없습니다.

포트 충돌이 의심되면 이미 다른 MySQL이나 MariaDB가 실행 중인지 확인해야 합니다. 학습 환경에서는 하나의 MySQL 서버만 실행하는 편이 문제를 줄입니다.

실습 준비 완료

이 장에서 MySQL Server를 설치하고, 명령줄 클라이언트와 Workbench에서 접속을 확인했습니다. 또한 mysql_book 데이터베이스와 study_user 계정을 만들고, students 테이블에 샘플 데이터를 넣었습니다.

이제부터는 설치 자체가 아니라 SQL에 집중할 수 있습니다. 다음 장에서는 students 테이블을 조회하면서 SQL의 기본 구조와 SELECT 문을 배웁니다.

참고

1How to install local MySQL on your Mac, Ubuntu, CentOS, Windows

책 목록

처음부터 실무까지 배우는 MySQL

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기