1. Ubuntu에 MySQL을 설치하는 목적 및 이점
Ubuntu 환경에 MySQL을 설치하면 비즈니스 및 웹 애플리케이션의 데이터를 효율적으로 관리할 수 있습니다. MySQL은 가볍고 빠르며 다양한 시스템과 호환되어 엔지니어와 기업 사이에서 널리 사용됩니다. 이 문서에서는 MySQL 설치부터 기본 운영, 유지보수, 문제 해결까지 포괄적인 가이드를 제공합니다.
2. Ubuntu 환경 준비
MySQL을 설치하기 전에 Ubuntu 시스템의 패키지 목록을 최신 상태로 유지하십시오. 이렇게 하면 설치 중 오류 발생 위험을 줄일 수 있습니다.
2-1. 시스템 패키지 업데이트 및 업그레이드
시스템 패키지를 최신 버전으로 업데이트하려면 다음 명령을 실행하십시오:
sudo apt update
sudo apt upgrade
업데이트를 수행하면 기존 패키지가 MySQL 설치와 호환되도록 보장됩니다.
2-2. 의존성 확인
MySQL은 여러 종속 패키지가 필요합니다. 사전에 의존성을 확인하면 설치 문제를 예방할 수 있습니다. 필요에 따라 아래 명령을 사용해 필수 패키지를 확인하고 설치하십시오:
sudo apt install -f
3. MySQL 설치 단계
mysql-server 패키지를 설치하여 Ubuntu에 MySQL을 설정합니다. MySQL 서비스가 정상적으로 실행되는지 확인하십시오.
3-1. MySQL 설치
다음 명령을 실행하면 MySQL을 자동으로 다운로드하고 설치합니다:
sudo apt install mysql-server
3-2. MySQL 서비스 확인 및 자동 시작 활성화
설치 후 MySQL 서비스가 실행 중인지 확인하십시오:
sudo systemctl status mysql
상태가 active (running) 으로 표시되면 설치가 성공한 것입니다. 시스템 부팅 시 MySQL이 자동으로 시작되도록 하려면 다음을 실행하십시오:
sudo systemctl enable mysql
4. 초기 설정 및 보안 강화
설치 후 mysql_secure_installation 스크립트를 사용해 MySQL 보안 설정을 강화합니다.
4-1. mysql_secure_installation 실행
보안 설정을 구성하려면 다음 명령을 실행하십시오:
sudo mysql_secure_installation
스크립트는 다음과 같은 설정을 묻습니다:
- 비밀번호 정책 : 보안을 강화하기 위해 비밀번호 강도(낮음, 중간, 높음)를 설정합니다.
- 익명 사용자 제거 : 기본 익명 사용자를 삭제합니다.
- 테스트 데이터베이스 제거 : 보안 위험을 줄이기 위해 테스트 데이터베이스를 삭제합니다.
- 원격 접근 제한 : root 사용자의 원격 로그인을 비활성화합니다.
4-2. 권장 보안 설정
대부분의 경우 각 프롬프트에 Y 를 입력하는 것이 권장됩니다. 비밀번호 정책은 medium 또는 high 로 설정하고 원격 접근을 제한하여 보안을 더욱 강화하십시오.
5. MySQL 연결 및 사용자 관리
MySQL에 연결하여 초기 설정이나 사용자 관리 작업을 수행합니다.
5-1. MySQL 셸 접속
root 사용자로 MySQL을 운영하려면 다음 명령을 실행하십시오:
sudo mysql
5-2. 인증 방식 변경 (선택 사항)
MySQL 8.0부터 root 사용자의 기본 인증 방식은 auth_socket 입니다. phpMyAdmin과 같은 외부 도구에서 접근하려면 인증 방식을 mysql_native_password 로 변경하십시오:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'StrongPassword';
FLUSH PRIVILEGES;

6. 기본 데이터베이스 및 테이블 작업
기본 MySQL 작업을 이해하면 데이터베이스를 보다 효율적으로 관리할 수 있습니다. 아래는 데이터베이스와 테이블을 생성하는 필수 단계입니다.
6-1. 데이터베이스 및 테이블 생성
다음 명령을 사용해 데이터베이스를 생성합니다:
CREATE DATABASE database_name;
USE database_name;
다음으로 테이블을 생성합니다. 예를 들어 사용자 정보를 관리하려면:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
6-2. 데이터 삽입 및 표시
아래 명령을 사용해 데이터를 삽입하고 테이블 내용을 표시합니다:
INSERT INTO users (name, email) VALUES ('Taro Yamada', 'taro@example.com');
SELECT * FROM users;
7. 정기 유지보수 및 백업
MySQL을 정상적으로 운영하려면 정기적인 백업과 유지보수가 필요합니다.
7-1. 백업 생성
데이터 보호를 위해 정기적인 백업이 필수입니다. mysqldump를 다음과 같이 사용하십시오:
mysqldump -u root -p database_name > backup.sql
7-2. 성능 최적화
성능 유지를 위해 데이터베이스 테이블을 주기적으로 최적화하십시오:
OPTIMIZE TABLE table_name;
7-3. FAQ
mysql_secure_installation실행 중 추가 옵션이 표시되는 경우 “원격 접근 제한”을 적용하지 않고 루트 접근을 허용하려면, 직접 보안 조치를 구성하십시오.
8. 문제 해결 및 지원 자료
MySQL 사용 중 문제가 발생하면 다음 방법을 통해 진단하고 해결할 수 있습니다.
8-1. 서비스 상태 확인 및 재시작
아래 명령을 사용해 MySQL 서비스 상태를 확인하거나 필요 시 재시작하십시오:
sudo systemctl status mysql
sudo systemctl restart mysql
8-2. 오류 로그 확인
오류 로그를 검토하면 문제 원인을 파악하는 데 도움이 됩니다:
sudo cat /var/log/mysql/error.log
8-3. 지원 자료
공식 문서와 커뮤니티 포럼을 참고하십시오. 공식 MySQL 웹사이트와 Stack Overflow와 같은 Q&A 사이트에는 유용한 문제 해결 정보가 포함되어 있습니다.
9. 요약
이 가이드는 Ubuntu에서 MySQL 설치 및 필수 설정 절차를 다루었습니다. 보안을 설정하고, 유지보수를 수행하며, 백업을 적절히 관리함으로써 MySQL을 효율적이고 안전하게 운영할 수 있습니다. 다음 단계로는 백업 자동화와 쿼리 성능 최적화를 고려해 보시기 바랍니다.
