우분투(Ubuntu) 환경에서 APM(Apache, PHP, MySQL)을 구성하는 두 번째 단계로 MySQL 설치 및 보안 설정 방법을 소개합니다. 이 포스팅은 Apache2 설치를 완료한 다음 단계로 진행되며, 실제 서버 운영을 위해 필요한 보안 설정까지 자세히 다룹니다.
** 모든 명령어는 SSH를 통해 root 권한으로 접속했을 때를 기준으로 합니다.
1. MySQL 설치
터미널에서 다음 명령어를 입력하여 MySQL 서버를 설치합니다.
# apt 최신목록으로 업데이트
apt update
# mysql 패키지 설치
apt install mysql-server

설치가 완료되면 MySQL 서비스는 자동으로 시작됩니다. 상태를 확인하려면 다음 명령어를 사용할 수 있습니다.
systemctl status mysql

2. MySQL root 비밀번호 설정
보안을 위해 먼저 root 계정의 비밀번호를 수동으로 설정합니다.
1단계: MySQL 접속
mysql
2단계: 비밀번호 설정
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '원하는비밀번호';
FLUSH PRIVILEGES;
EXIT;
⚠️ 비밀번호는 강력한 조합(대소문자, 숫자, 특수문자 포함)을 사용하는 것이 좋습니다.
3. 보안 설정 스크립트 실행
MySQL은 설치 이후 기본적인 보안 설정을 돕는 스크립트를 제공합니다.
mysql_secure_installation
명령어 실행과 동시에 방금전 설정한 root 비밀번호를 입력합니다.
아래는 실행 중 등장하는 질문과 권장 응답 예시입니다.

Would you like to setup VALIDATE PASSWORD component?
- 비밀번호 정책 설정 여부 → Yes
- 선택 옵션
0 = LOW
(길이만 8자 이상)1 = MEDIUM
(숫자, 대소문자, 특수문자 포함)2 = STRONG
(딕셔너리 검사 포함)
- 추천: 1 (MEDIUM)
Change the password for root?
- 이미 설정했으므로 No
Remove anonymous users?
- 익명 사용자 제거 → Yes
Disallow root login remotely?
- root의 원격 접속 제한 → 서버 운용 정책에 따라 선택
- 개인 서버라면 Yes
- 외부 관리가 필요하다면 No
Remove test database and access to it?
- 테스트용 데이터베이스 삭제 → Yes
Reload privilege tables now?
- 권한 테이블 재적용 → Yes
4. MySQL 서비스 재시작
모든 설정을 마친 후 MySQL 서비스를 재시작합니다.
service mysql restart
마무리
이제 MySQL이 정상적으로 설치되고 보안 설정도 완료되었습니다. 다음 단계는 PHP를 설치하여 APM 환경을 완성하는 것입니다.
이 포스팅은 웹호스팅 서버 환경을 위한 기초 설정을 중심으로 구성되어 있으며, 워드프레스, Laravel 등 다양한 웹 어플리케이션 환경 구축 시에도 동일하게 적용할 수 있습니다.