큐브리드 데이터베이스 설치

주영택·2021년 6월 19일
0

2017년에 작성된 문서입니다

준비 사항

  • 센트 6.7 64비트 (최소 버전 기준)
  • 큐브리드 9.3.9 리눅스 버전
  • 노드 8.x
  • node-cubrid

가상 머신에 센트리눅스 설치

가상 머신 세팅 과정에서 네트워크는 브릿지 어댑터로 잡음. 네트워크 어댑터를 잡지 않으면 eth0 이 자동으로 생성되지 않아 불편하니 꼭 세팅하고 설치를 마침.

정상적으로 root 로그인 후, /etc/sysconfig/network-scripts/ifcfg-eth0 파일을 열어

...
ONBOOT=yes
...

아마 no 로 되어 있을텐데 yes 로 변경 후, 리부팅하던가 /etc/init.d/network restart 또는 /etc/rc.d/init.d/network restart 로 네트워크를 올려준다.

센트에 큐브리드 설치

공식 홈페이지의 9.3.9 리눅스 버전을 다운로드 하고 설치한다.

$ curl -o cubrid-linux-x86_64.sh http://ftp.cubrid.org/CUBRID_Engine/9.3.9/CUBRID-9.3.9.0002-linux.x86_64.sh
$ chmod +x cubrid...sh
$ ./cubrid...sh

그냥 다 yes 설치로 마무리 하고 쉘 환경 로딩하고 데몬 띄우면 안된다.

호스트 정보 업데이트

센트의 호스트에 현재 호스트네임의 정보가 필요하다.

hostname
ip addr
vi /etc/hosts

해당 IP 와 호스트 이름을 추가해준다.

다시 로그인 하고 큐브리드 올리면 데몬은 정상 구동된다.

방화벽

큐브리드 사용 포트

마스터(1523), 브로커(30000,33000), 매니저(8001,8002) 포트가 열려 있어야 큐브리드 사용하는데 문제가 없다.

방화벽 해제

icmp(ping) 과 ssh(22 번) 말고는 다 막혀 있어서 긴 시간 삽질했다.

service iptables stop

서비스를 disable 하는 것도 괜찮다.

chkconfig --list
chkconfig iptables off
chkconfig ip6tables off

데이터베이스 실행 및 사용자 계정 추가

데이터베이스를 실행하기 위해 환경 설정 파일을 로딩하고 서비스를 실행한다.

source .cubrid.sh
cubrid service start

데이터베이스를 추가하기 위한 명령

mkdir krridb
cd krridb
cubrid createdb krridb ko_KR
cubrid server start krridb
csql --user public krridb

csql 클라이언트를 실행해 일반적인 sql 명령을 사용할 수 있다.

show tables;
create table test;
show tables;

원격 접속하기 위해 사용자 계정을 추가

큐브리드 매니저

매니저 앱 수행 권한

기본 권한으로 앱을 실행하면 JDBC 드라이버 목록 업데이트할 때 권한 부족으로 적당한 버전의 JDBC 를 다운로드하지 못하므로 큐브리드 매니저는 관리자 권한으로 실행하세요.

9.3 버전의 매니저 프로그램은 정상적으로 실행된다. 큐브리드 매니저 두 가지 모드를 통해 모든 기능을 컨트롤 할 수 있다. 사용자 생성은 '질의모드' 에서 가능하다.

추가한 사용자에게 쿼리 실행 권한 부여도 잊지 말아야 한다.

애로사항

데이터베이스에 처리되는 레코드는 실시간이 아니기 때문에 인터페이스 장치에서 수신된 DDS 데이터를 바로 EAI 서버의 결과와 매치할 수 없다.

따라서 비교 대상이 되는 두 데이터의 키 값이 필요한데 이 값은 타임코드 같은 값이 적절하다고 본다.

하지만 시간 정보의 타입이 다르기 때문에 DDS 에서 제공되는 값을 그대로 사용할 수 없다. 데이터베이스에 저장되는 값을 기준으로 하는 편이 좋을 것 같다.

여러모로 실제 데이터 샘플이 필요하다. 현제 제공 받은 DDS 데이터 역시 가상의 데이터로 구성되어 있고 데이터베이스 샘플은 아직 없다.

참고

로컬환경에서 빠르게 데이터베이스 개발을 시작하기 위해서는 윈도우즈 환경에 큐브리드 서버를 설치하고 해당 버전의 큐브리드 매니저를 설치해서 사용하는 것이 가장 나은 것 같다.

(너무 많은 시간을 센트 버전의 큐브리드와 큐브리드 매니저에게 빼았겼다.)

profile
NodeJS 백엔드 웹 개발자입니다.

0개의 댓글