파이썬 python

라즈베리파이에서 mariaDB(mysql)설정후 파이썬으로 데이터베이스로 사용하기

smy383 2025. 3. 9. 09:21
728x90
반응형

 

라즈베리 파이 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 주소로 변경합니다.
  • usernamepassword는 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
728x90
반응형