1월 13, 2026가이드
Linux 서버에서 MySQL 데이터베이스를 설정하는 방법
Ubuntu 및 CentOS에서 MySQL 데이터베이스 서버를 설치, 보안 및 관리하는 방법에 대한 전체 가이드.

MySQL은 가장 인기 있는 오픈 소스 관계형 데이터베이스 관리 시스템 중 하나입니다. 이 가이드는 Hiddence Linux 서버에 MySQL을 설치, 보안 및 구성하는 데 도움이 될 것입니다.
MySQL 설치
2026년 기준 MySQL 8.0이 현재 안정 버전입니다. 설치 과정은 Ubuntu/Debian과 RHEL 기반 배포판 간에 약간의 차이가 있습니다. 아래에서 두 가지 방법을 모두 다룹니다.
Ubuntu/Debian에 MySQL 설치
Ubuntu 22.04 LTS 이상 버전의 경우 기본 저장소에서 MySQL 8.0을 사용할 수 있습니다. apt를 사용하여 설치하세요:
bash
sudo apt update
sudo apt install mysql-server -y
sudo systemctl start mysql
sudo systemctl enable mysql
# 설치 확인
sudo systemctl status mysql
mysql --versionRHEL / CentOS / AlmaLinux / Rocky Linux에 MySQL 설치
RHEL 기반 배포판의 경우 먼저 MySQL 저장소를 추가해야 합니다. 프로덕션 용도로는 MySQL 8.0을 권장합니다:
bash
# MySQL 저장소 패키지 다운로드
sudo wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
# 저장소 설치
sudo rpm -ivh mysql80-community-release-el9-1.noarch.rpm
# CentOS 8/Rocky Linux 8/AlmaLinux 8의 경우 다음을 사용하세요:
# sudo wget https://dev.mysql.com/get/mysql80-community-release-el8-7.noarch.rpm
# MySQL 설치
sudo yum install mysql-server -y
# MySQL 시작 및 활성화
sudo systemctl start mysqld
sudo systemctl enable mysqld
# 설치 확인
sudo systemctl status mysqld
mysql --version설치 검증
설치 후 MySQL이 올바르게 실행 중인지 확인하세요:
bash
# 서비스 상태 확인
sudo systemctl status mysql # Ubuntu/Debian
sudo systemctl status mysqld # RHEL / CentOS
# MySQL 버전 확인
mysql --version
# 연결 테스트(root 비밀번호 요청됨)
sudo mysql -u root -pMySQL 설치 보안 강화
MySQL 보안 설치 스크립트를 실행하세요:
bash
sudo mysql_secure_installation
# 프롬프트에 따라 root 비밀번호 설정, 익명 사용자 제거, 원격 root 로그인 비활성화 등을 수행하세요.데이터베이스 및 사용자 생성
bash
sudo mysql -u root -p
CREATE DATABASE myapp_db;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON myapp_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;사용자 관리
bash
sudo mysql -u root -p
# 사용자 생성
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
# 권한 부여
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
# 권한 회수
REVOKE ALL PRIVILEGES ON database_name.* FROM 'newuser'@'localhost';
# 사용자 삭제
DROP USER 'newuser'@'localhost';원격 접속 활성화(선택 사항)
원격 연결을 허용하려면 bind-address를 수정하세요:
bash
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
# bind-address = 127.0.0.1을 bind-address = 0.0.0.0으로 변경
sudo systemctl restart mysql
# 또한 방화벽에서 3306 포트를 허용하도록 설정하세요데이터베이스 백업 및 복구
백업 및 복구 생성:
bash
# 백업
mysqldump -u root -p database_name > backup.sql
# 복구
mysql -u root -p database_name < backup.sql베스트 프랙티스
- 데이터베이스 사용자에게 강력한 비밀번호를 사용하세요
- 사용자에게 필요한 권한만 부여하세요
- 데이터베이스를 정기적으로 백업하세요
- 보안 패치를 위해 MySQL을 최신 상태로 유지하세요
- 데이터베이스 성능을 모니터링하고 쿼리를 최적화하세요