이번시간에는 데이터 베이스 사용을 위해 라즈베리파이에 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/
설치 완료 후 프로그램을 실행한 뒤 상단의 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가 출력되는 것을 확인할 수 있습니다.
이상입니다!
'라즈베리파이' 카테고리의 다른 글
라즈베리파이의 웹서버를 데스크탑에서 접근하기 (0) | 2021.04.07 |
---|---|
라즈베리파이와 PC간 파일 전송을 위한 SAMBA설치 (0) | 2021.03.02 |
라즈베리파이 opencv 기본 예제 실행해보기(얼굴인식) (0) | 2021.02.28 |
라즈베리파이 opencv 4.5.1버전 실패없이 한번에 설치하기 (23) | 2021.02.28 |
모니터 연결없이 라즈베리파이 IP확인하기 (0) | 2021.02.27 |