라즈베리 파이 4, MariaDB로 만드는 나만의 데이터베이스 서버! (초보자 가이드)
라즈베리 파이 4는 저렴한 가격에 뛰어난 성능을 제공하는 소형 컴퓨터입니다. 이 글에서는 라즈베리 파이 4를 이용하여 MariaDB 데이터베이스 서버를 구축하는 방법을 단계별로 설명합니다. MariaDB는 MySQL과 호환되는 오픈 소스 데이터베이스 관리 시스템으로, 라즈베리 파이 4에서 데이터 저장, 관리, 분석 등 다양한 작업을 수행하는 데 유용합니다.
준비물
- 라즈베리 파이 4
- Micro SD 카드 (최소 16GB 권장)
- Micro SD 카드 리더기
- PC (Windows, macOS, Linux)
- 인터넷 연결
1단계: 라즈베리 파이 OS 설치
1. **라즈베리 파이 OS 이미지 다운로드:** 라즈베리 파이 공식 웹사이트 (https://www.raspberrypi.com/software/)에서 라즈베리 파이 Imager를 다운로드하여 설치합니다. 2. **라즈베리 파이 Imager 실행:** 라즈베리 파이 Imager를 실행하고, "CHOOSE OS" 버튼을 클릭하여 라즈베리 파이 OS를 선택합니다 (Raspberry Pi OS (32-bit) Lite 버전 권장). 3. **Micro SD 카드 선택:** "CHOOSE STORAGE" 버튼을 클릭하여 Micro SD 카드를 선택합니다. 4. **쓰기:** "WRITE" 버튼을 클릭하여 라즈베리 파이 OS 이미지를 Micro SD 카드에 씁니다. 쓰기 작업이 완료될 때까지 기다립니다. 5. **Micro SD 카드 삽입:** Micro SD 카드를 라즈베리 파이에 삽입합니다.
2단계: 라즈베리 파이 4 설정
1. **라즈베리 파이 부팅:** 라즈베리 파이에 전원을 연결하여 부팅합니다. 2. **SSH 활성화:** 라즈베리 파이 OS Lite 버전을 설치한 경우, SSH를 활성화해야 합니다. Micro SD 카드 부트 파티션에 `ssh`라는 이름의 빈 파일을 생성하면 SSH가 활성화됩니다. 3. **터미널 접속:** PC에서 터미널 또는 SSH 클라이언트 (예: PuTTY)를 사용하여 라즈베리 파이에 접속합니다. * 기본 사용자 이름: pi * 기본 비밀번호: raspberry
3단계: MariaDB 설치
1. **패키지 목록 업데이트:** 라즈베리 파이에 접속한 후, 다음 명령어를 실행하여 패키지 목록을 업데이트합니다.
sudo apt update
2. **MariaDB 설치:** 다음 명령어를 실행하여 MariaDB를 설치합니다.
sudo apt install mariadb-server
3. **MariaDB 보안 설정:** 다음 명령어를 실행하여 MariaDB 보안 설정을 진행합니다.
sudo mysql_secure_installation
루트 비밀번호 설정, 익명 사용자 제거, 원격 루트 로그인 비활성화, 테스트 데이터베이스 제거 등의 보안 설정을 진행합니다.
4단계: MariaDB 설정
1. **MariaDB 서비스 시작 및 활성화:** 다음 명령어를 실행하여 MariaDB 서비스를 시작하고, 부팅 시 자동으로 시작되도록 설정합니다.
sudo systemctl start mariadb
sudo systemctl enable mariadb
2. **MariaDB 루트 접속:** 다음 명령어를 실행하여 MariaDB 루트 계정으로 접속합니다.
sudo mysql -u root -p
mysql_secure_installation 과정에서 설정한 루트 비밀번호를 입력합니다.
3. **새로운 사용자 생성:** 다음 명령어를 실행하여 새로운 사용자를 생성하고, 특정 데이터베이스에 대한 권한을 부여합니다.
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON databasename.* TO 'username'@'localhost';
FLUSH PRIVILEGES;
username은 생성할 사용자 이름으로 변경합니다.password는 사용할 비밀번호로 변경합니다.databasename은 데이터베이스 이름으로 변경합니다.
4. **새로운 데이터베이스 생성:** 다음 명령어를 실행하여 새로운 데이터베이스를 생성합니다.
CREATE DATABASE databasename;
databasename은 데이터베이스 이름으로 변경합니다.
5. **변경 사항 적용:** 다음 명령어를 실행하여 변경 사항을 적용하고 MariaDB를 종료합니다.
FLUSH PRIVILEGES;
EXIT;
5단계: MariaDB 원격 접속 설정 (선택 사항)
MariaDB에 원격으로 접속하려면 다음과 같은 설정을 해야 합니다.
1. **MariaDB 설정 파일 수정:** 다음 명령어를 실행하여 MariaDB 설정 파일을 엽니다.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
2. **bind-address 수정:** bind-address = 127.0.0.1 부분을 bind-address = 0.0.0.0 으로 수정합니다.
3. **방화벽 설정:** 라즈베리 파이 방화벽에서 MariaDB 포트 (기본: 3306)를 개방합니다.
sudo ufw allow 3306
주의: 원격 접속을 허용하면 보안 위험이 증가할 수 있습니다. 방화벽 설정 및 강력한 비밀번호 설정을 통해 보안을 강화해야 합니다.
6단계: MariaDB 접속 테스트
PC에서 MariaDB 클라이언트를 사용하여 라즈베리 파이에 설치된 MariaDB 서버에 접속합니다.
mysql -h [라즈베리파이_IP_주소] -u username -p
[라즈베리파이_IP_주소]는 라즈베리 파이의 IP 주소로 변경합니다.username과password는 MariaDB에서 생성한 사용자 이름과 비밀번호로 변경합니다.
파이썬에서 MariaDB 사용 예시
다음은 파이썬에서 MariaDB에 접속하여 테이블 생성, 데이터 삽입, 데이터 조회 등을 수행하는 예시 코드입니다.
import mysql.connector
# MariaDB 연결 설정
mydb = mysql.connector.connect(
host="[라즈베리파이_IP_주소]", # 라즈베리 파이 IP 주소
user="username", # MariaDB 사용자 이름
password="password", # MariaDB 비밀번호
database="databasename" # 사용할 데이터베이스 이름
)
mycursor = mydb.cursor()
# 테이블 생성 (만약 테이블이 존재하지 않는 경우)
mycursor.execute("""
CREATE TABLE IF NOT EXISTS customers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
address VARCHAR(255)
)
""")
# 데이터 삽입
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
('John', 'Highway 21'),
('Peter', 'Lowstreet 4'),
('Amy', 'Apple'파이썬 python' 카테고리의 다른 글
| 라즈베리파이 부팅 시 파이썬 자동 실행, LXSession으로 완벽하게! (초보자 가이드) (0) | 2025.03.11 |
|---|---|
| 라즈베리파이를 이용해 파이썬으로 자동 이메일 추출하기 (0) | 2025.03.11 |
| 라즈베리 파이에서 파이썬으로 영상플레이어 MPV 활용하기 (1) | 2025.03.08 |
| 라즈베리파이 Samba 설치 및 설정: 파일 공유 가이드 (0) | 2025.03.08 |
| 라즈베리 파이 4로 MQTT 브로커 구축하기 (0) | 2025.03.07 |