우분투에서 MySQL/MariaDB 완벽 설치 및 설정 가이드

2025. 1. 28. 13:41·운영체제 (OS)/리눅스 (Linux)

데이터베이스는 웹 개발 및 애플리케이션 개발에서 필수적인 요소입니다. 이 글에서는 우분투(Ubuntu) 환경에서 MySQL 또는 MariaDB를 설치하고 설정하는 방법을 쉽고 자세히 설명하겠습니다. 또한, 데이터베이스를 PHP와 연동하는 방법도 함께 다룹니다.


MySQL과 MariaDB란?

  • MySQL: 오라클(Oracle)이 개발 및 관리하는 가장 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
  • MariaDB: MySQL에서 파생된 데이터베이스로, MySQL과 높은 호환성을 유지하면서도 성능과 안정성을 개선한 오픈 소스 프로젝트입니다.

우분투에서는 MySQL 또는 MariaDB 중 하나를 선택하여 사용할 수 있으며, 설치 및 설정 방법은 매우 유사합니다.


1. MySQL 설치 방법

1.1. 패키지 업데이트

먼저 시스템의 패키지 목록을 최신 상태로 업데이트합니다.

sudo apt update
sudo apt upgrade -y

1.2. MySQL 서버 설치

MySQL 서버를 설치합니다.

sudo apt install -y mysql-server

1.3. MySQL 서비스 상태 확인

설치 후 MySQL 서비스는 자동으로 시작됩니다. 서비스 상태를 확인하려면:

sudo systemctl status mysql

1.4. MySQL 보안 설정

보안 설정 마법사를 실행하여 기본적인 보안 설정을 완료합니다.

sudo mysql_secure_installation

설정 항목:

  • 루트 비밀번호 설정
  • 익명 사용자 제거
  • 원격 루트 로그인 비활성화
  • 테스트 데이터베이스 삭제
  • 권한 테이블 다시 로드

1.5. MySQL 접속 확인

MySQL에 접속하여 설치가 정상적으로 완료되었는지 확인합니다.

sudo mysql


2. MariaDB 설치 방법

MariaDB 설치 과정은 MySQL과 매우 유사합니다.

2.1. 패키지 업데이트

sudo apt update
sudo apt upgrade -y

2.2. MariaDB 서버 설치

sudo apt install -y mariadb-server

2.3. MariaDB 서비스 상태 확인

sudo systemctl status mariadb

2.4. MariaDB 보안 설정

sudo mysql_secure_installation

2.5. MariaDB 접속 확인

sudo mariadb


3. MySQL/MariaDB 초기 설정

3.1. 루트 사용자 비밀번호 설정

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '새로운비밀번호';
FLUSH PRIVILEGES;

3.2. 새로운 데이터베이스 생성

CREATE DATABASE my_database;

3.3. 새로운 사용자 생성 및 권한 부여

CREATE USER '새사용자'@'localhost' IDENTIFIED BY '사용자비밀번호';
GRANT ALL PRIVILEGES ON my_database.* TO '새사용자'@'localhost';
FLUSH PRIVILEGES;

3.4. 데이터베이스 목록 확인

SHOW DATABASES;

3.5. 종료

EXIT;


4. MySQL/MariaDB와 PHP 연동

4.1. PHP MySQL 모듈 설치

PHP에서 MySQL/MariaDB를 사용할 수 있도록 PHP MySQL 모듈을 설치합니다.

sudo apt install -y php-mysql

4.2. PHP-FPM 및 웹 서버 재시작

PHP와 웹 서버가 제대로 연동되도록 재시작합니다.

sudo systemctl restart php8.2-fpm
sudo systemctl restart nginx   # Nginx 사용 시
sudo systemctl restart apache2 # Apache 사용 시


5. 데이터베이스 백업 및 복원

5.1. 데이터베이스 백업

mysqldump -u 사용자이름 -p 데이터베이스이름 > backup.sql

5.2. 데이터베이스 복원

mysql -u 사용자이름 -p 데이터베이스이름 < backup.sql


6. MySQL과 MariaDB 비교

항목 MySQL MariaDB

라이선스 GPL 및 상업 라이선스 GPL
개발자 Oracle MariaDB 재단
성능 및 기능 기본적인 성능 고성능, 신기능 추가
MySQL과의 호환성 호환성 유지 대부분의 MySQL과 호환

 

'운영체제 (OS) > 리눅스 (Linux)' 카테고리의 다른 글

우분투에서 PHP 설치 및 Apache 연동 방법 완벽 가이드  (1) 2025.01.28
[PHP 설정 가이드] PHP-FPM 완벽 설정 방법  (0) 2025.01.28
우분투 PHP 설치 및 Nginx 연동 가이드  (1) 2025.01.27
Ubuntu에서 Apache 설치 및 설정하기  (1) 2025.01.27
NGINX로 멀티 도메인 호스팅하기  (0) 2025.01.27
'운영체제 (OS)/리눅스 (Linux)' 카테고리의 다른 글
  • 우분투에서 PHP 설치 및 Apache 연동 방법 완벽 가이드
  • [PHP 설정 가이드] PHP-FPM 완벽 설정 방법
  • 우분투 PHP 설치 및 Nginx 연동 가이드
  • Ubuntu에서 Apache 설치 및 설정하기
체리모찌
체리모찌
inknotes 님의 블로그 입니다.
  • 체리모찌
    모먼트로그
    체리모찌
    • 분류 전체보기 (32)
      • 일상 이야기 (6)
        • 영화 리뷰 (2)
        • 드라마 리뷰 (4)
      • 운영체제 (OS) (14)
        • 윈도우 (Windows) (1)
        • 리눅스 (Linux) (13)
      • 파이썬 (Python) (9)
      • 정보나눔 (3)
  • 최근 글

  • 최근 댓글

  • 인기 글

  • 태그

    개발
    눅스서버
    python
    웹서버
    프로그래밍
    김호민
    서버관리
    우분투
    황민현
    스터디그룹4화
    파이썬 기초
    웹사이트속도개선
    스터디그룹리뷰
    스터디그룹3화
    스터디그룹
    nginx캐싱
    스터디드라마
    중증외상센터리뷰
    서버최적화
    웹툰원작
    nginx
    청춘드라마
    코딩
    파이썬
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.3
체리모찌
우분투에서 MySQL/MariaDB 완벽 설치 및 설정 가이드
상단으로

티스토리툴바