02. 클라우드 보안 공부/실습로그

✅ [실습로그] MariaDB 설치 및 트랜잭션 설정 - ACID 속성 구현

taegi- 2025. 5. 8. 17:16

🌐 MariaDB 설치 및 트랜잭션 설정 - ACID 속성 구현

1. 실습 개요

MariaDB 서버를 설치하고 기본 보안 설정을 수행한 후, 트랜잭션 관리와 외부 접속 설정을 진행한다. 트랜잭션의 ACID 속성을 이해하고 이를 DB 설정에 반영하여 데이터의 무결성을 보장한다.

💡 실습 목표

  • MariaDB 설치 및 보안 설정
  • 트랜잭션 관리와 ACID 속성 이해
  • 외부 접속 허용 및 클라이언트 접속 확인

2. 실습 환경

  • OS: Linux (CentOS / Rocky Linux)
  • 도구: MariaDB 서버
  • 접속: Windows 클라이언트 / Linux 클라이언트

3. 트랜잭션 이해

💾 트랜잭션이란?

데이터베이스에 데이터가 기록되는 과정을 총칭하며, 다음과 같은 ACID 속성을 만족해야 한다.

  • Atomicity (원자성): 트랜잭션 내 연산은 모두 성공하거나 모두 실패 (롤백).
  • Consistency (일관성): 트랜잭션 전후 데이터 규칙이 동일.
  • Isolation (격리성): 트랜잭션 간 상호 간섭이 없어야 함.
  • Durability (내구성): 커밋 후 데이터는 시스템에 지속적으로 보존.

4. MariaDB 설치

🛠️ 설치 및 설정

 

  1. MariaDB 설치
  2. dnf -y install mariadb-server systemctl --now enable mariadb
  3. 한글 및 다국어 지원 설정
  4. vi /etc/my.cnf.d/charset.cnf [mysqld] character-set-server = utf8mb4 [client] default-character-set = utf8mb4
  5. 방화벽 설정
  6. firewall-cmd --add-service=mysql firewall-cmd --runtime-to-permanent
  7. 초기 보안 설정
  8. mysql_secure_installation

5. MariaDB 사용자 및 DB 생성

🧑‍💻 사용자 생성 및 권한 설정

  1. MariaDB 접속
  2. mysql -u root -p
  3. 외부 접속을 위한 사용자 생성
  4. CREATE USER winuser@10.0.2.2 IDENTIFIED BY 'qwer'; GRANT ALL ON *.* TO winuser@10.0.2.2;
  5. 클라이언트 접속 테스트
  6. mysql -h 192.168.111.200 -u winuser -p qwer --skip-ssl

🌐 클라이언트 접속 오류 해결

  • IP 에러 발생 시
  • CREATE USER winuser@192.168.111.1 IDENTIFIED BY 'qwer'; GRANT ALL ON *.* TO winuser@192.168.111.1;
  1. 데이터베이스 생성
  2. CREATE DATABASE 4gl;

6. 실습 결과

  • MariaDB 설치와 기본 보안 설정이 완료되었으며, 외부 접속도 정상적으로 이루어짐.
  • 트랜잭션 설정과 ACID 속성 구현으로 데이터 무결성을 보장함.

🛑 문제 해결

  • 외부 접속 오류: IP 주소를 정확히 지정하여 해결함.
  • 인코딩 문제: UTF-8 설정으로 한글 깨짐 문제 방지.

7. 결론

MariaDB 서버를 설치하고 트랜잭션 설정을 통해 데이터 무결성을 보장하는 방법을 학습하였다. UTF-8 설정을 통해 다국어 지원 문제를 해결하였으며, 외부 접속 설정을 통해 다양한 환경에서 DB를 활용할 수 있도록 구성하였다.

🔗 참고 링크