CentOS上でなでしこをデータベース管理に使おう *

ここでは、CentOSで、SQLite/MySQL/PostgreSQLをインストールする手順を紹介します。

もしサクラVPSで使う場合には、以下の手順で準備

  • サクラVPSを契約
  • CentOSをインストール
  • PCでターミナルを起動して、サクラVPSにログイン
    • $ ssh root@xxx.xxx.xxx.xxxx (xxxはIPアドレス)
  • OSをアップデート
    • $ yum -y update
  • 新規ユーザーを作成
    • $ useradd kujira
    • $ passwd kujira
    • $ usermod -G wheel kujira
  • wheelグループのみ管理者になれるように
    • $ vi /etc/pam.d/su
    • 『#auth sufficient pam_wheel.so trust use_uid』の一文字目#を削除

Node.jsをインストールしてバージョン10以上にする *

  • CentOS/install を参照して、Node.jsをインストールし、バージョン10以上にアップデートさせてください。(古いバージョンのNode.jsではエラーが出てなでしこが動かない場合があります。)

データベースプラグインを使う時は、なでしこ3をローカルにインストールする *

CentOSでは、なでしこをローカルインストールして使うと問題が少なくなります。例えば、testというディレクトリを作り、そこになでしこをインストールする方法を紹介します。

# なでしこを使うフォルダを作成
mkdir test
cd test
# プロジェクトを初期化
npm init -f
# なでしこ3をインストール
npm install nadesiko3

そして、ローカル環境のなでしこを実行する方法は、以下のようにします。

$(npm bin)/cnako3 プログラム.nako3

ローカル環境になでしこをインストールしたとしても、なでしこエディタを実行できます。なでしこエディタを実行するには、以下のコマンドを実行します。

$(npm bin)/nako3edit

SQLite3を使う場合 *

なでしこ3とSQLITE3のプラグインをインストール方法です。

(備考:SQLiteモジュールでソースをコンパイルする必要があるのですが、グローバルインストールでは、コンパイルエラーになることが多いようなので、以下のようにしてインストールと良いでしょう。)

# 必要なモジュールをインストール
sudo npm install -g node-gyp

# ローカルプロジェクトを初期化
mkdir test
cd test
npm init -f

# なでしことなでしこSQLiteプラグインをインストール
npm install nadesiko3
npm install nadesiko3-sqlite3

以下のプログラムを「test-sqlite3.nako3」という名前で保存。

!「nadesiko3-sqlite3」を取り込む。
DBファイル=「{母艦パス}/test.sqlite3」

# ここで使うSQL
SQL_C = 『CREATE TABLE IF NOT EXISTS tt(id INTEGER PRIMARY KEY, value INTEGER);』
SQL_I = 『INSERT INTO tt (value) VALUES (?)』
SQL_S = 『SELECT * FROM tt』

DBファイルをSQLITE3開く。
逐次実行
 先に、SQL_Cを[]でSQLITE3逐次実行。
 次に、SQL_Iを[30]でSQLITE3逐次実行。
 次に、SQL_Iを[50]でSQLITE3逐次実行。
 次に、SQL_Iを[70]でSQLITE3逐次実行。
 次に、SQL_Sを[]でSQLITE3逐次全取得。
 次に、対象を表示。
ここまで。

プログラムを実行する方法(1):

$(npm bin)/cnako3 test-sqlite3.nako3

プログラムを実行する方法(2):

なでしこエディタを起動。Webブラウザ上で上記のプログラムを実行する。

npm run nako3edit

MySQLを使う方法 *

MySQLをインストールします。

sudo yum -y install mysql mysql-devel mysql-server mysql-utilities

rootユーザーにパスワードを設定

mysqladmin -u root password 'hoge'

MySQLにログインしてデータベースを作成

create database hoge;
exit

つまり、以下の条件を設定したものとします。

項目

設定値

ユーザー名

root

パスワード

hoge

データベース名

hoge

ホスト

localhost

それで、次になでしこのMySQLプラグインを追加します。

npm install nadesiko3
npm install nadesiko3-mysql

以下のプログラムを「test-mysql.nako3」として保存。

!「nadesiko3-mysql」を取り込む。

CREATE=「CREATE TABLE tt (id BIGINT PRIMARY KEY,value BIGINT)」
INSERT=「INSERT INTO tt(id,value)VALUES(?,?)」
SELECT=「SELECT * FROM tt WHERE id=?」
DROP=「DROP TABLE tt」

「mysql://root:hoge@localhost/hoge」をMYSQL開く。
逐次実行
  先に、CREATEを[]でMYSQL逐次実行。
  次に、INSERTを[1,100]でMYSQL逐次実行。
  次に、対象["insertId"]を表示。
  次に、INSERTを[2,200]でMYSQL逐次実行。
  次に、INSERTを[3,300]でMYSQL逐次実行。
  次に、SELECTを[2]でMYSQL逐次実行。
  次に、対象[0]["value"]を表示。# 結果->200
  次に、「select * from tt;」を[]でMYSQL逐次実行。
  次に、対象をJSONエンコードして表示。
  次に、DROPを[]でMYSQL逐次実行。
  次に、MYSQL閉じる。
ここまで。

プログラムを実行する方法:

$(npm bin)/cnako3 test-mysql.nako3

PostgreSQLを使う方法 *

最初に、PostgreSQLをインストールします。

# インストール
sudo yum -y install postgresql-server
# サーバーを起動
sudo service postgresql start
# パスワードを設定 (パスワードを尋ねられたときhogeとする)
sudo passwd postgres
su - postgres
# データベースを生成
psql
create database hoge;

ここまでの手順で、以下の環境をセットアップしたとします。

項目

設定値

ユーザー名

postgres

パスワード

hoge

データベース名

hoge

ホスト

localhost

その上で、なでしことプラグインをインストールします。

npm install nadesiko3
npm install nadesiko3-postgresql

そして、以下のプログラムを「test-postgresql.nako3」という名前で保存します。

!「nadesiko3-postgresql」を取り込む
CREATE=「CREATE TABLE tt (id BIGINT PRIMARY KEY,value BIGINT)」
INSERT=「INSERT INTO tt(id,value)VALUES($1,$2)」
SELECT=「SELECT * FROM tt WHERE id=$1」
DROP=「DROP TABLE tt」
「postgresql://postgres:hoge@localhost:5432/hoge」をPG開く。
逐次実行
  先に、CREATEを[]でPG逐次実行。
  次に、INSERTを[1,100]でPG逐次実行。
  次に、対象を表示。# INSERTの実行結果
  次に、INSERTを[2,200]でPG逐次実行。
  次に、INSERTを[3,300]でPG逐次実行。
  次に、SELECTを[2]でPG逐次実行。
  次に、対象[0]["value"]を表示。# 結果->200
  次に、DROPを[]でPG逐次実行。
  次に、PG閉じる。
ここまで。

以下のコマンドを実行するとプログラムを実行できます。

$(npm bin)/cnako3 test-postgresql.nako3