2010/03/10

hsqldb

hsqldbのサーバーモードをデーモンで動かす。
Oracle Linux 5.2
HSQLDB 1.8.0.9

hsqldb_1_8_0_9.zipをダウンロード
/var/lib/hsqldbに展開
起動スクリプト bin/hsqldb を /etc/init.d/ に配置
# ダウンロードした zip を解凍
$ unzip /usr/local/src/hsqldb_1_8_0_9.zip

# /var/lib/hsqldb で動かす
$ cp -r hsqldb /var/lib

# hsqldb ユーザーで動作させる
useradd -c 'HSQLDB Database Owner' -s /bin/bash -m hsqldb
$ chown -R hsqldb /var/lib/hsqldb

# 設定ファイルの作成
$ cp -p /var/lib/hsqldb/bin/hsqldb /etc/init.d/hsqldb
$ cp -p /var/lib/hsqldb/src/org/hsqldb/sample/sqltool.rc /var/lib/hsqldb/sqltool.rc
$ cp -p /var/lib/hsqldb/src/org/hsqldb/sample/sample-server.properties /var/lib/server.properties
$ chown hsqldb /var/lib/hsqldb/server.properties
$ chown hsqldb /var/lib/hsqldb/sqltool.rc
$ chmod 600 /home/hsqldb/sqltool.rc

chkconfig --add hsqldb
chmod 755 /etc/init.d/hsqldb

未設定の場合 /etc/hosts に localhost を設定する。この設定がないとデーモンの開始・終了が正しくできない。
127.0.0.1 localhost

デーモン起動
/etc/init.d/hsqldb start

ステータス表示
/etc/init.d/hsqldb status

デーモン終了
/etc/init.d/hsqldb stop



###################################################
# ユーザがこのデータベースにアクセスするための設定
###################################################
ユーザの作成(例 test)
# useradd -c 'test' -s /bin/bash

環境変数を /home/test/.bashrc に設定する
export HSQLDB_HOME=/var/lib/hsqldb
export CLASSPATH=.:${HSQLDB_HOME}/lib/hsqldb.jar

###################################################
# ユーザがこのデータベースにアクセス
###################################################
$ java -jar /var/lib/hsqldb/lib/hsqldb.jar localhost-sa

sql>
CREATE TABLE test (
id int PRIMARY KEY,
name varchar(64)
);

sql> \d test

name datatype width no-nulls
---- -------- ----- --------
ID INTEGER 11 *
NAME VARCHAR 64

sql> \q