7주차 보고서 - l3ye/DoHeon-embedded-system GitHub Wiki

💡MariaDB 란

1.개요

  • 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)
  • 데이터를 표(table) 형태로 저장하고 SQL로 관리할 수 있는 프로그램이다.

2.특징

  • 구조: MySQL과 거의 동일한 구조 (서버, 클라이언트, SQL 인터페이스 등)
  • 호환성: MySQL의 명령어, 데이터 형식, API 대부분 그대로 사용 가능
  • 성능: InnoDB 외에도 Aria, ColumnStore, TokuDB 등 다양한 스토리지 엔진 지원
  • 안정성: 오픈소스 기반으로 투명한 업데이트와 보안 패치 제공
  • 커뮤니티: 오라클 중심의 MySQL보다 전 세계 개발자 커뮤니티 중심으로 운영
  • 확장성: 클러스터링, 복제(Replication), 샤딩 등 다양한 분산 기능 지원

3.MySQL PostgreSQL과의 차이점

4.주요 구성 요소

  • MariaDB Server: 핵심 DBMS 엔진
  • MariaDB Client: 명령어로 데이터 관리하는 CLI 도구 (mysql 명령과 동일)
  • MariaDB Connector: 다양한 언어(PHP, Python, Java 등)와 연결해주는 라이브러리

5.사용 예시

  • 웹 서비스(예: WordPress, phpMyAdmin)
  • ERP, CRM 등 내부 시스템
  • 데이터 분석용 백엔드
  • 클라우드 기반 DB 서비스 (AWS, Azure, Google Cloud 등에서 지원)

💡MariaDB 설치

MariaDB 설치

  • sudo apt-get install mariadb-server

mySQL 서비스

  • sudo service mysql start
  • sudo service mysql status
  • sudo mysql -u root -p 입력 후 enter

만들어둔 데이터베이스들 조회

  • show databases; 입력

테이블 생성

  • USE raspi_dht11;
  • CREATE TABLE collect_data ( sensor VARCHAR(30) NOT NULL, time DATETIME NOT NULL, temp_c FLOAT, temp_f FLOAT, humidity FLOAT ); 입력
  • show tables; 로 테이블 생성 확인
  • INSERT INTO collect_data VALUES('dht11', '2025-11-05 15:33:14', 27.4, 55, 40); 입력하여 데이터 삽입
  • SELECT * FROM collect_data; 로 확인 가능
  • 실습 전 테이블을 비우기 위해 truncate collect_data; 입력
  • CREATE USER 'user'@'%' IDENTIFIED BY 'password'; 입력해서 유저를 생성

GRANT ALL PRIVILEGES ON raspi_dht11.* TO 'user'@'%'; 를 입력해 DB의 모든 권한 부여

💡Node-Red - mariaDB 연동

  • Node-Red 에 mysql 설치 후 확인
  • node-red-contrib-dht-sensor 설치
  • 노드 구성 및 설명
  • 타임스태프
  • rpi-dht11
  • function
  • raspi_dht11
  • 라즈베리 파이에 dHt11 연결

ttt

  • SELECT * FROM collect_data ORDER BY time DESC LIMIT 20;를 통해 결과 확인

💡USB 카메라 설치 및 연동

  • npm install node-red-contrib-usbcamera,sudo apt-get install fswebcam 입력
  • v4l2-ctl --list-devices로 카메라 연결 확인
  • sudo apt install feh 입력
  • fwsebcam -d /dev/video0 test_image.jpg 로 카메라 테스트
  • xdg-open test_image.jpg 로 확인

필요한 노드 설치

  • 다음과 같이 구성
  • 온도
  • 습도
  • usb카메라
  • function
  • camera view
  • image preview

연결 확인

결과