우분투에서 MySQL 설치 및 보안 설정 방법 (2025년 기준)

우분투(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 등 다양한 웹 어플리케이션 환경 구축 시에도 동일하게 적용할 수 있습니다.

Leave a Comment