Chapter 04. 라즈베리파이에 MariaDB 설치하고 사용하기 - Marvic1130/EmbeddedSystem_Class GitHub Wiki

라즈베리파이에 MariaDB 설치하고 사용하기

MariaDB란?

-wikipedia- MariaDB는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)이다. MySQL과 동일한 소스 코드를 기반으로 하며, 오라클 소유의 현재 불확실한 MySQL의 라이선스 상태에 반발하여 만들어졌다.

스크린샷 2022-10-25 오후 6 16 15

라즈베리파이에 MariaDB 설치하기

먼저 설치된 패키지의 최신화를 위해 update와 upgrade를 해준다.

sudo apt-get update

sudo apt-get upgrade

아래 명령어를 이용하여 MariaDB를 설치한다.

sudo apt-get install mariadb-server

스크린샷 2022-10-25 오후 6 10 46

설치가 완료되면 아래의 명령어로 설치된 MariaBD를 확인한다.

systemctl status mysql

스크린샷 2022-10-25 오후 6 26 43

아래 명령어를 입력하여 루트 계정으로 접속한다.

sudo mysql -u root

스크린샷 2022-10-25 오후 6 33 13

만약 루트 계정으로 접속하지 않고 접속하면 아래와 같이 권한 오류가 뜬다.

mysql

스크린샷 2022-10-25 오후 6 32 51

아래 명령어를 사용하여 root의 비밀번호를 설정한다.

set password for 'root'@'localhost'=password('<PassWord>');

스크린샷 2022-10-25 오후 6 37 45

아래 명령어로 pi라는 계정을 생성한다.

CREATE user 'pi'@'localhost' IDENTIFIED BY '<PassWord>';

스크린샷 2022-10-25 오후 6 45 23

DB생성하고 사용하기

아래 명령어로 dht11이라는 DB를 utf8로 인코딩하여 생성

CREATE DATABASE <DB name> CHARACTER SET utf8 collate utf8_general_ci; CREATE DATABASE dht11 CHARACTER SET utf8 collate utf8_general_ci;

스크린샷 2022-10-25 오후 7 11 30

위에서 생성한 계정에 권한을 부여한다.

grant all privileges on <DB name>.* to <user name>;

grant all privileges on dht11.* to 'pi'@'localhost';

스크린샷 2022-10-25 오후 7 23 52

권한 즉시 활성화

flush privileges

위에서 생성한 계정으로 DB에 접속하기위해 root접속을 종료하고 재접속한다.

접속 종료: exit;

sudo mysql -u pi -p

스크린샷 2022-10-25 오후 7 34 57

위에서 만든 DB에 접속

DB 검색:show databases;

스크린샷 2022-10-25 오후 7 48 44

dht11에 접속: use dht11;

스크린샷 2022-10-25 오후 7 50 05

테이블 생성

`CREATE TABLE ();

CREATE TABLE collect_data(sensor varchar(30) not null, collect_time datetime not null, temp_c float, temp_f float, humidity float);

스크린샷 2022-10-25 오후 8 00 09


Node-red와 MariaDB 연결하기

먼저 Node-red에서 mysql 팔랫트를 다운받는다.

스크린샷 2022-10-25 오후 8 11 52

오른쪽 매뉴에서 가져오기를 누른 후Chapter 06의 flows-2.json 파일을 붙여넣는다.

스크린샷 2022-10-25 오후 8 23 49

그 후 배포 한 후 아래 명령어를 통해 BD 에서 확인 할 수 있다.

select * from collect_data;

스크린샷 2022-10-25 오후 8 09 04

⚠️ **GitHub.com Fallback** ⚠️