0


【参赛作品96】使用node.js测试连接opengauss

作者:吴毅

测试环境:操作系统:EulerOS_2.8_ARM-20200308_20200308192159
硬件配置:4vCPUs | 16 GiB | kc1.xlarge.4 IP地址:192.168.0.2

1. docker的安装

1.1 给云服务器配置一个1M的弹性IP,不需要安装安装ssh服务,只需设置端口即可。查看一下安全组————入口方向 添加TCP:22。为了方便远程操作,建议开放全部端口。

1.2 安装docker

根据华为云鲲鹏介绍,建议docker-18.09.8及以上,推荐使用官方二进制包安装,选择docker-18.09.9.tgz


mkdir -p /opt/softwares
mkdir -p /opt/modules
cd /opt/softwares
wget https://download.docker.com/linux/static/stable/aarch64/docker-18.09.9.tgz
tar xzvf docker-18.09.9.tgz -C /opt/modules
cd /opt/modules
cp docker/* /usr/bin/                               

1.3 配置system服务


touch /lib/systemd/system/docker.socket
vim /lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target


chmod +x /lib/systemd/system/docker.service
systemctl  start  docker

2. 安装docker版本openGauss
2.1 pull docker文件


docker pull enmotech/opengauss

2.2 启动openGuass实例


docker run --name opengauss --hostname=opengauss --privileged=true -d -e GS_PASSWORD=abc@1234A -p 15432:5432 enmotech/opengauss:latest 

特别注意设置密码是要大小写字母,特殊符号和数字,必须是8位,否则无法启动docker版本的opengauss。如图所示:
image.png


docker exec -it opengauss /bin/bash
su - omm
gsql -d postgres -p 5432 –r

特别注意:进入opengauss时,如果是在容器里进入端口是5432,在容器外进入端口是15432。如图所示:
image.png
2.3 为了安全,openGauss 对于密码安全的要求
建立新用户和密码,为了方便操作,给用户分管理员权限。为了安全,openGauss 对于密码安全的要求:建立新用户和密码,为了方便操作,给用户分管理员权限。


createrole wuyi login sysadmin identifiedby'qwe123@A';
\c omm wuyi
createdatabase testdb;
\c testdb wuyi;
/```
**2.4 建表和插入数据**
```sql
createtable student(sno int,sname varchar(100),ssex char(4),sage int);
insertinto student values (1,'张三','男',19);
insertinto student values (2,'李四','男',19);
insertinto student values (3,'王五','男',23);
insertinto student values (4,'赵六','男',22);
insertinto student values (5,'小明','男',19);
insertinto student values (6,'小美','女',21);
insertinto student values (7,'小英','女',19);
insertinto student values (8,'周佳','女',18);
insertinto student values (9,'张英','女',20);
insertinto student values (10,'王勇','男',19);
/

3 安装node.js和配置其环境
3.1 在windows7下 载 https://nodejs.org/dist/latest-v12.x/node-v12.22.4-x64.msi 并 安装完成后,查看版本


node -v
npm -v

3.2 创建文件夹:
D:\nodejs\node_cache
D:\Program Files\nodejs\node_global
在命令行执行:


npm config set prefix "D:\nodejs\node_global"
npm config set cache "D:\nodejs\node_cache"

3.3 设置环境变量
在我的电脑————高级系统设置————高级————环境变量————系统变量————新建————变量名:NODE_PATH 变量值:D:\nodejs\node_global\node_modules
特别要注意:要在配置用户环境变量里修改Path下面的路径,否则无法使用cnpm这个命令。在用户变量的Path,把C:\Users\wy1\AppData\Roaming\npm改为D:\nodejs\node_global
image.png
image.png
**3.4 cnpm安装 **


npm install -g cnpm --registry=https://registry.npm.taobao.org

3.5 用pg-pool,但要同时安装pg与pg-pool


cnpm install pg 
cnpm install pg-pool

3.6 创建 一个testdb.js , 代码如下:


var pg = require('pg');

// 数据库配置
var config = {
user: ‘wuyi’,
database: ‘testdb’,
password: ‘xxxxx’,
host: ‘xx.xxx.xxx.xx’,
port: 15432,

<span class="hljs-comment">// 扩展属性</span>
<span class="hljs-comment">//max:20, // 连接池最大连接数</span>
<span class="hljs-comment">//idleTimeoutMillis:30000, // 连接最大空闲时间 3s</span>

}

// 创建连接池
var pool = new pg.Pool(config);

// 查询
var sql = ‘select * from student limit 5’;
pool.query(sql, (err, results) => {
// 查询数据失败
if (err) returnconsole.log(err.message)
// 查询数据成功
// 注意:如果执行的是 select 查询语句,则执行的结果是数组
console.log(results)
})

运行效果如图所示:
image.png

标签: node.js docker 运维

本文转载自: https://blog.csdn.net/GaussDB/article/details/122143241
版权归原作者 Gauss松鼠会 所有, 如有侵权,请联系我们删除。

“【参赛作品96】使用node.js测试连接opengauss”的评论:

还没有评论