本入门教程使用 SequoiaDB 3.0 和 SequoiaSQL-PostgreSQL 3.0 在 Ubuntu 上搭建一个基础运行环境,以快速了解 SequoiaDB 及 SequoiaSQL 的基本功能。
安装 SequoiaDB 安装过程需要使用操作系统 root 用户权限。
安装介质准备 从 SequoiaDB 官网 下载 SequoiaDB 3.0 及 SequoiaSQL-PostgreSQL 3.0 的安装包,并上传到目标主机上。
安装步骤 1.以 root 用户登陆目标主机,解压 SequoiaDB 安装包 sequoiadb-3.0-linux_x86_64-installer.tar.gz,并给解压得到的 run 包增加可执行权限 $ tar zxvf sequoiadb-3.0-linux_x86_64-installer.tar.gz $ chmod u+x sequoiadb-3.0-linux_x86_64-installer.run 2.运行安装程序 $ ./sequoiadb-3.0-linux_x86_64-installer.run --mode text --SMS false 3.程序提示选择向导语言,输入2,选择中文 Language Selection Please select the installation language [1] English - English [2] Simplified Chinese - 简体中文 Please choose an option [1] :2 4.显示安装协议,直接按回车键忽略阅读并同意协议
5.询问是否强制安装,直接按回车键选择否: 是否强制安装?强制安装时可能会强杀残留进程 是否强制安装 [y/N]: 6.输入安装路径后按回车(可直接按回车使用默认路径 /opt/sequoiadb ) 请指定 SequoiaDB Server 将会被安装到的目录 安装目录 [/opt/sequoiadb]: 7.提示输入用户名和用户组(默认创建 sdbadmin 用户和 sdbadmin_group 用户组),该用户名用于运行 SequoiaDB 服务,本次均直接按回车使用默认值 数据库管理用户配置 配置用于启动 SequoiaDB 的用户名、用户组和密码 用户名 [sdbadmin]: 用户组 [sdbadmin_group]: 8.提示输入该用户的密码和确认密码(默认密码为 sdbadmin ),本次均直接按回车使用默认值 密码 [********] : 确认密码 [********] : 9.输入两次密码后,此时系统提示输入配置服务端口(默认为11790),直接按回车使用默认值 集群管理服务端口配置 配置SequoiaDB集群管理服务端口,集群管理用于远程启动添加和启停数据库节点 端口 [11790]: 10.询问是否允许 SequoiaDB 相关进程开机自启动,输入Y,按回车 是否允许 SequoiaDB 相关进程开机自启动 Sequoiadb相关进程开机自启动 [Y/n]: 11.设置完成,询问是否继续安装,直接按回车选择是 设定现在已经准备将 SequoiaDB Server 安装到您的电脑. 您确定要继续? [Y/n]: 12.安装完成 正在安装 SequoiaDB Server 于您的电脑中,请稍候。 安装中 0% ______________ 50% ______________ 100% ######################################### 安装程序已经完成安装 SequoiaDB Server 于你的电脑中。 13.安装检查 切换到 sdbadmin 用户,使用如下命令如能正常查到 SequoiaDB 的版本信息,说明安装成功。 $ sequoiadb --version SequoiaDB version: 3.0 Release: 35669 2018-05-19-00.39.08
安装 SequoiaSQL 1.以 root 用户登陆目标主机,解压 SequoiaSQL 安装包 sequoiasql-postgresql-3.0-x86_64-installer.tar.gz,并给解压得到的 run 包增加可执行权限 $ tar zxvf sequoiasql-postgresql-3.0-x86_64-installer.tar.gz $ chmod u+x sequoiasql-postgresql-3.0-x86_64-installer.run 2.运行安装程序 $ ./sequoiasql-postgresql-3.0-x86_64-installer.run --mode text 3.程序提示选择向导语言,输入2,选择中文 Language Selection Please select the installation language [1] English - English [2] Simplified Chinese - 简体中文 Please choose an option [1] :2 4.输入安装路径后按回车(可直接按回车使用默认路径 /opt/sequoiasql/postgresql ) 由BitRock InstallBuilder评估本所建立 欢迎来到 SequoiaSQL PostgreSQL Server 安装程序 请指定 SequoiaSQL PostgreSQL Server 将会被安装到的目录 安装目录 [/opt/sequoiasql/postgresql]: 5.提示输入用户名和用户组(默认创建 sdbadmin 用户和 sdbadmin_group 用户组),该用户名用于运行 SequoiaSQL 服务,本次均直接按回车使用默认值 数据库管理用户配置 配置用于启动SequoiaSQL PostgreSQL的用户名、用户组和密码 用户名 [sdbadmin]: 用户组 [sdbadmin_group]: 6.提示输入该用户的密码和确认密码(默认密码为 sdbadmin ),本次均直接按回车使用默认值 密码 [********]: 确认密码 [********]: 7.设置完成,询问是否继续安装,直接按回车选择是 设定现在已经准备将 SequoiaSQL PostgreSQL Server 安装到您的电脑. 您确定要继续? [Y/n]: 8.安装完成 正在安装 SequoiaSQL PostgreSQL Server 于您的电脑中,请稍候。 安装中 0% ______________ 50% ______________ 100% ######################################## 安装程序已经完成安装 SequoiaSQL PostgreSQL Server 于你的电脑中。 9.安装检查 切换到 sdbadmin 用户,使用如下命令如能正常查到 SequoiaSQL-PostgreSQL 的版本信息,说明安装成功。 $ sdb_sql_ctl --version 3.0
操作环境准备 创建实例及数据库 1.创建 SequoiaDB 实例 以 sdbadmin 用户登陆 SequoiaDB 所在主机,使用如下命令创建一个 SequoiaDB 的单机环境,并启动节点 $ sdb Welcome to SequoiaDB shell! help() for help, Ctrl+c or quit to exit > var oma = new Oma("localhost", 11790) Takes 0.004115s. > oma.createData(11810, "/opt/sequoiadb/database/standalone/11810") Takes 0.001889s. > oma.startNode(11810) Takes 13.195910s. 2.创建 SequoiaSQL 实例 以 sdbadmin 用户登陆 SequoiaSQL-PostgreSQL 所在主机,切换到 SequoiaSQL-PostgreSQL 安装目录 $ cd /opt/sequoiasqloltp 创建实例,指定实例名为myinst,数据目录为 pg_data,出现 ok 表示实例创建成功 $ sdb_sql_ctl addinst myinst -D pg_data/ Adding instance myinst ... ok 启动实例进程 $ sdb_sql_ctl start myinst Starting instance myinst ... ok (PID: 20502) 查看实例状态 $ sdb_sql_ctl status INSTANCE PID SVCNAME PGDATA PGLOG myinst 20502 5432 /opt/sequoiasqloltp/pg_data /opt/sequoiasqloltp/pg_data/myinst.log Total: 1; Run: 1 检查 SequoiaSQL 是否启动成功 $ netstat -nap | grep 5432 tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 20502/postgres unix 2 [ ACC ] STREAM LISTENING 40776754 20502/postgres /tmp/.s.PGSQL.5432 创建 SequoiaSQL 的 database $ bin/createdb -p 5432 foo
配置 SequoiaSQL 与 SequoiaDB 连接 1.进入 SequoiaSQL shell 环境 $ cd /opt/sequoiasqloltp $ bin/psql -p 5432 foo psql (9.3.4) Type "help" for help. foo=# 2.加载 SequoiaDB 连接驱动 foo=# create extension sdb_fdw; CREATE EXTENSION 3.配置与SequoiaDB连接参数 foo=# create server sdb_server foreign data wrapper sdb_fdw options(address '127.0.0.1', service '11810', user 'sdbadmin', password 'mypassword', preferedinstance 'A', transaction 'off'); CREATE SERVER
数据库操作 使用 SequoiaSQL shell 进行 SQL 操作 1.使用 sdbadmin 用户登陆主机 2.进入 SequoiaDB shell 环境并创建集合 foo.bar $ cd /opt/sequoiadb $ bin/sdb Welcome to SequoiaDB shell! help() for help, Ctrl+c or quit to exit > db=new Sdb() localhost:11810 Takes 0.117950s. > db.createCS('foo').createCL('bar') localhost:11810.foo.bar Takes 0.298361s. 3.进入 SequoiaSQL shell 环境,创建外表 foo=# create foreign table test( id int, name text ) server sdb_server options ( collectionspace 'foo', collection 'bar' ); CREATE FOREIGN TABLE 4.使用 SQL 语句进行增删改查操作 foo=# insert into test values(1, 'Tom'); INSERT 0 1 foo=# insert into test values(2, 'Jerry'); INSERT 0 1 foo=# select * from test; id | name ----+------- 1 | Tom 2 | Jerry (2 rows) foo=# update test set name = 'Tim' where id = 1; UPDATE 1 foo=# select * from test; id | name ----+------- 1 | Tim 2 | Jerry (2 rows) foo=# delete from test where name = 'Jerry'; DELETE 1 foo=# select * from test; id | name ----+------ 1 | Tim (1 row)
使用 SequoiaDB shell 进行数据库操作 1.使用 sdbadmin 用户登陆主机,启动 SequoiaDB shell: $ /opt/sequoiadb/bin/sdb Welcome to SequoiaDB shell! help() for help, Ctrl+c or quit to exit > 2.创建一个新的 sdb 连接 > db = new Sdb() 3.创建集合空间 cs > db.createCS("cs") 4.创建集合 cl > db.cs.createCL("cl") 5.向集合 cs.cl 中写入记录 > db.cs.cl.insert({id:1, name:"Tom"}) Takes 0.000679s. > db.cs.cl.insert({id:2, name:"Jerry"}) Takes 0.000447s. 6.查询结果 > db.cs.cl.find() { "_id": { "$oid": "5a93bd4bc8ddfc8f28000001" }, "id": 1, "name": "Tom" } { "_id": { "$oid": "5a93bd52c8ddfc8f28000002" }, "id": 2, "name": "Jerry" } Return 2 row(s). Takes 0.000742s. 7.修改记录并查询结果 > db.cs.cl.update({$set:{name:"Tim"}}, {id:1}) Takes 0.001411s. > db.cs.cl.find() { "_id": { "$oid": "5a93bd4bc8ddfc8f28000001" }, "id": 1, "name": "Tim" } { "_id": { "$oid": "5a93bd52c8ddfc8f28000002" }, "id": 2, "name": "Jerry" } Return 2 row(s). Takes 0.001261s. 8.删除记录并查询结果 > db.cs.cl.remove({id:2}) Takes 0.001756s. > db.cs.cl.find() { "_id": { "$oid": "5a93bd4bc8ddfc8f28000001" }, "id": 1, "name": "Tim" } Return 1 row(s). Takes 0.000702s. 9.查看帮助
相关主题 |