이번시간에는 데이터 베이스 사용을 위해 라즈베리파이에 MariaDB를 설치하고 다른 인터넷 환경(웹, 앱 등)에서

DB를 연동해서 사용하기 위한 준비단계에 대해 알아보겠습니다.

 

이를 통해 라즈베리파이에서 센서나 카메라 모듈을 통한 동영상 파일 등을 DB에 저장하여 앱이나 웹에서 이 데이터를 이용할 수 있을 것입니다.

 

설치 순서는 다음과 같습니다.

 

라즈베리파이에 mariadb 설치-> 외부 접속 ip 설정 -> 윈도우에 workbench 설치-> db연동 정상동작 확인

 

 

일단 새로운 패키지를 설치하기 전에 다음 두 명령어로 기존의 패키지들을 업데이트해줍니다.

 

sudo apt-get update

sudo apt-get upgrade

 

그 다음 아래 명령어로 mariadb를 설치해줍니다.

 

sudo apt-get install mariadb-server

설치된 mariadb의 버전을 아래의 명령어로 확인합니다. 10.3.27 버전이 설치되었음을 확인할 수 있습니다.

 

이제 db에 접속합니다.

mysql 명령어를 입력 시 권한 문제로 오류가 뜨기 때문에 루트 계정으로 db에 접속합니다.

 

아래 사진은 기본 데이터 베이스 목록을 확인하고 mysql 이름의 db로 접속하는 명령어입니다.

 

다음 명령어를 입력하면 기본으로 저장되어있는 mysql 데이터베이스의 plugin 컬럼이 unix_socket으로 되어있습니다.

 

select user,host,plugin from mysql.user; 

 

이 플러그인 정보를 mysql_native_password로 변경합니다. 

flush privileges 명령은 테이블 변경정보를 즉시 적용하는 명령어입니다.

이제 exit명령어로 빠져나와 다시 아래 명령어로 db에 접속합니다.

패스워드는 기본적으로 저장되어있지 않기 때문에 Enter password: 부분에서 enter를 누르면 접속됩니다.

이제 아래 명령어로 루트 계정의 db 비밀번호를 raspberry로 바꿔준 뒤 (비밀번호는 자유) exit로 빠져나옵니다.

 

이제 다른 인터넷 환경에서 라즈베리파이의 db에 접속하기위해 ip설정을 변경하는 단계입니다.

아래 그림처럼 순서대로 명령어를 입력해줍니다. 이 때 아래 2줄을 보면 nano와 sudo nano가 있는데

무조건 sudo nano 50-server.cnf 명령어로 파일을 열어야 합니다. (그냥 nano 적용 시 변경 값 저장이 안됨)

 

이제 그림 하단부의 bind-address를 0.0.0.0로 바꿔준 뒤 저장 후 파일에서 빠져나옵니다.

초기설정은 127.0.0.1로 되어있는데, 이는 로컬 ip주소로 자신의 ip주소를 나타내는데, 이 경우 로컬 ip주소만(라즈베리파이) DB에 접속할 수 있으므로 다른 인터넷 환경에서도 접속할 수 있도록 0.0.0.0으로 변경합니다.

이제 아래 명령어로 db를 재부팅해줌으로써 라즈베리파에서의 모든 설정은 끝났습니다.

 

이제 window환경에서 db를 연동하여 사용하기 위해 데스크탑에 workbench 프로그램을 설치해줍니다.

*workbench: 데이터 베이스를 gui 환경에서 손쉽게 이용, 제어할 수 있는 프로그램

 

https://dev.mysql.com/downloads/workbench/

 

MySQL :: Download MySQL Workbench

Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Recommended Download: Other Downloads: Windows (x86, 64-bit), M

dev.mysql.com

설치 완료 후 프로그램을 실행한 뒤 상단의 Database 탭-> Manage Connections..를 클릭하여준 뒤 아래처럼 설정해줍니다.

Connection Name: raspberry(자유)

Host name: 라즈베리파이 ip주소

user name: root

Store in Vault.. 버튼 클릭-> 아까 라즈베리파이에서 설정한 비밀번호("raspberry") -> OK클릭

 

이제 하단의 Test Connection버튼을 클릭하여 다음과 같은 화면이 뜬다면 연결에 성공한 것입니다.

                                

 

이제 홈화면에 아래와 같이 raspberry 커넥션이 뜨게 되고 아래와 같이 정상 연결되었음을 확인할 수 있습니다.

 

이제 db연동이 정상작동 되는지 확인해보겠습니다. workbench에서 새 db를 생성하고 라즈베리파이에서 확인해봅니다.

오른쪽 Query창에 아래처럼 입력한 뒤 두줄을 블럭처리하여 ctrl+enter 를 누르면 쿼리문이 수행됩니다.

 

 

이제 라즈베리파이에서 아래 순서대로 진행하여 workbench에서 생성한 "jow1025" db가 출력되는 것을 확인할 수 있습니다.

 

이상입니다! 

+ Recent posts