GBase有奖征文优选文章4 | GBase 8a的docker版安装、迁移和js连接测试
GBase 8a的docker版安装、迁移和js连接测试
文 | 吴毅
GBase 8a的安装,测试环境:操作系统版本:CentOS7.6 x86_64,硬件配置:2C4G 1台,
服务器名称:kafka1.wuyi.com, IP地址: 172.16.32.5
docker版GBase 8a的安装
查询安装的版本
docker search gbase8a
docker版本的安装(特别注意,如果网络不好,可能会下载不了镜像,要多测试几次)
docker pull shihd/gbase8a:1.0
启动GBase 8a
docker run -it --name gbase8a --hostname=gbase8a --privileged=true -p5258:5258 shihd/gbase8a:1.0
进入docker系统
docker exec -it gbase8a /bin/bash
进入GBase 8a
gbase -uroot –p
把mysql数据迁移到GBase 8a
下载windows版本GBaseMigrationToolkit解压后,进入migration的目录点击Migration.exe,特别要注意的是绝对路径的名称不能是中文,否则无法打开。
迁移步骤
新建任务——填写任务名称:mysql(任意取名),点击下一步——选择迁移的源数据库(mysql)和目标数据(GBase 8a),点击下一步——填写源数据库名称(mysql),主机名,端口,用户名,密码和数据库名(test1),点击下一步——填写目标数据库名称(GBase 8a),主机名,端口,用户名,密码和数据库名(shares)。这里的数据库名不能使用默认的GBase 8a,否则无法迁移成功,必须要重新建立数据库shares,这样就能把test1的表迁移到shares的库里。可以选择单表,多表和全表迁移。迁移成功如图所示:
安装node.js和配置其环境
在windows7下 载 https://nodejs.org/dist/latest-v12.x/node-v12.22.4-x64.msi 并 安装完成后,查看版本
node -v
npm -v
创建文件夹
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"
设置环境变量
在我的电脑——高级系统设置——高级——环境变量——系统变量——新建——变量名:NODE_PATH 变量值:D:\nodejs\node_global\node_modules
特别要注意:要在配置用户环境变量里修改Path下面的路径,否则无法使用cnpm这个命令。在用户变量的Path,把C:\Users\wy1\AppData\Roaming\npm改为D:\nodejs\node_global
cnpm安装
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm没有关于GBase的资源安装包,根据GBase 8a论坛上有人讨论过node.js连接GBase 8a的问题:http://www.gbase8a.com/forum.php?mod=viewthread&tid=3391。尝试使用mysql的方式来实现。
cnpm install mysql
创建 一个gbase.js,代码如下:
var gb = require('mysql');
// 数据库配置
var config = {
user: 'root',
database: 'shares',
password: 'xxxxxxx',
host: 'xxxxxxxxxxxxxxxxx',
port: 5258,
// 扩展属性
//max:20, // 连接池最大连接数
//idleTimeoutMillis:30000, // 连接最大空闲时间 3s
}
// 创建连接池
var connection = gb.createConnection(config);
connection.connect();
var sql = "select * from shares_basic limit 5";
connection.query(sql, (err, results) => {
// 查询数据失败
if (err) return console.log(err.message)
// 查询数据成功
// 注意:如果执行的是 select 查询语句,则执行的结果是数组
console.log(results)
}
);
connection.end();
在02目录下执行:
Node gbase.js
执行后的效果图如下:
通过这次mysql迁移到GBase 8a和node.js连接GBase 8a的操作,对GBase 8a有了进一步了解。在node.js的连接上,mysql和GBase 8a是有兼容性,但不是百分百兼容,差异的问题等遇到再解决。同时特别注意,在迁移过程中,不能使用默认的GBase 8a数据库,必须要创建新数据库才能迁移成功。
THE END
往期文章
新闻资讯
南大通用GBase数据库在国家石油天然气管网集团有限公司的应用
生态合作
南大通用GBase 8c数据库与泛微软件完成互认证 共同搭建统一数字化办公平台
培训活动
培训|“老”程序员的“新”学堂 —— 优秀学员谈GBase初体验
认证培训 | 欢迎参加GBase 8a MPP CLuster数据库3月训练营
技术干货