暂无图片
暂无图片
7
暂无图片
暂无图片
暂无图片

GBase 8a的docker版安装、迁移和js连接测试

原创 吴毅 2022-01-25
19813

GBase 8a的安装,测试环境:操作系统版本:CentOS7.6 x86_64,硬件配置:2C4G 1台,
服务器名称:kafka1.wuyi.com, IP地址: 172.16.32.5
1. docker版GBase 8a的安装
1.1 查询安装的版本

docker search gbase8a

1.2 docker版本的安装(特别注意,如果网络不好,可能会下载不了镜像,要多测试几次)

docker pull shihd/gbase8a:1.0

1.3 启动GBase 8a

docker run -it --name gbase8a --hostname=gbase8a --privileged=true -p5258:5258 shihd/gbase8a:1.0

1.4 进入docker系统

docker exec -it gbase8a /bin/bash

1.5 进入GBase 8a

gbase -uroot –p

image.png
2. 把mysql数据迁移到GBase 8a
2.1 下载windows版本GBaseMigrationToolkit解压后,进入migration的目录点击Migration.exe,特别要注意的是绝对路径的名称不能是中文,否则无法打开。
image.png
2.2 迁移步骤
新建任务——填写任务名称:mysql(任意取名),点击下一步——选择迁移的源数据库(mysql)和目标数据(GBase 8a),点击下一步——填写源数据库名称(mysql),主机名,端口,用户名,密码和数据库名(test1),点击下一步——填写目标数据库名称(GBase 8a),主机名,端口,用户名,密码和数据库名(shares)。这里的数据库名不能使用默认的GBase 8a,否则无法迁移成功,必须要重新建立数据库shares,这样就能把test1的表迁移到shares的库里。可以选择单表,多表和全表迁移。迁移成功如图所示:
image.png
image.png
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 cnpm没有关于GBase的资源安装包,根据GBase 8a论坛上有人讨论过node.js连接GBase 8a的问题:http://www.gbase8a.com/forum.php?mod=viewthread&tid=3391。尝试使用mysql的方式来实现。

cnpm install mysql

3.6 创建 一个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();

3.7在02目录下执行:

Node gbase.js

执行后的效果图如下:
image.png
通过这次mysql迁移到GBase 8a和node.js连接GBase 8a的操作,对GBase 8a有了进一步了解。在node.js的连接上,mysql和GBase 8a是有兼容性,但不是百分百兼容,差异的问题等遇到再解决。同时特别注意,在迁移过程中,不能使用默认的GBase 8a数据库,必须要创建新数据库才能迁移成功。

最后修改时间:2022-04-06 12:06:00
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论