阿里云 DataV 数据可视化 关注
手机版
  1. 云栖社区>
  2. 阿里云 DataV 数据可视化>
  3. 博客>
  4. 正文

数据库开放权限太危险,又不想写API。DataV给你另外一个选择。

木酱 2016-06-21 17:58:40 浏览21016 评论29 发表于: 阿里云 DataV 数据可视化 >> 可视化

数据可视化

摘要: ~ DataV 后台21日晚上线,现在暂时还不能用哦 ~ DataV 增加了一个新的数据代理协议,旨在提供更安全的数据查询。它将 SQL 查询字符串和数据库 id 加密后传到这个应用,而后这个应用连接数据库将查询后的结果返回到 DataV 的页面中。 根据新的协议,我做了一个示例应用在githu

DataV 增加了一个新的数据代理协议,旨在提供更安全的数据查询。它将 SQL 查询字符串和数据库 id 加密后传到这个应用,而后这个应用连接数据库将查询后的结果返回到 DataV 的页面中。

根据新的协议,我做了一个示例应用在github上,它可以一键部署到ECS上:https://github.com/ericdum/DataVProxy

大家可以直接使用这个 Node.js 版本的示例应用,也可以参照他自己实现。

欢迎大家贡献代码。

步骤

  1. 购买 ECS,最低配置即可,后续如果有需要可以灵活增配。
  2. 部署代码、启动服务
  3. 配置数据库
  4. 配置到 DataV

购买 ECS

p1
如下图所示,在“镜像”中选择“公共镜像” => CentOS 7.0 64位。如果没有特殊需求不需要数据盘,带宽建议按流量付费。(参考价格:这样的配置每月¥45,公网流量费用¥0.8/GB)

p2

部署代码、启动服务

下载代码包

wget https://codeload.github.com/ericdum/DataVProxy/zip/master
unzip master
cd DataVProxy-master

部署

make install

p3
保留上图红框中的信息,下一步要用。如果忘记可以执行 node ./bin/info.js 来查看,如果需要变更 key 可用 node ./bin/genkv.js 来生成。

看到红框下面的输出的应用状态信息后,则表示启动成功了。

可以访问 http://域名:端口/status 来验证服务器状态。

如根据上图输出的信息则可访问:http://115.29.246.129:9998/status

配置数据库

打开 config.js,在 databases 数组中仿照示例增加数据库。

  databases: [
    {
      id: 'test',        // 保证 id 不重复,填入 DataV 后台的“数据库”一栏中
      type: 'mysql',     // rds, ads
      host: '127.0.0.1', // 域名、ip
      user: 'root',      // 用户名
      password: 'root',  // 密码
      database: 'test',  // 数据库名
      port: 3306         // 端口
    },
    {
      // ... 
    },
    // ... 增加数据库填到这里
  ]

配置到 DataV

如图所示,在创建数据源的地方选择“自定义”类型,
然后将前两步红圈中的信息填入输入框

p4

在数据配置的地方选择“数据库”类型,再选择刚才自定义的数据源就可以了。

p5

注意,这个服务SDK只提供了 HTTP 服务,如果需要 HTTPS 服务自己 google 一下就知道了,需要您申请 chrome 浏览器认可的 HTTPS 证书才行。

在有 HTTPS 服务之前,请确保 DATAV 页面是使用 HTTP 协议打开的。(这是浏览器为了保证https网站的安全性提供的策略)

WechatIMG1_jpeg

运维

查看实时日志

pm2 logs

查看历史日志

ls -al ./DataVProxy-master/logs

重启

pm2 restart all

启动服务

pm2  start app.js
本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.alibaba-inc.com;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

用云栖社区APP,舒服~

【云栖快讯】浅析混合云和跨地域网络构建实践,分享高性能负载均衡设计,9月21日阿里云专家和你说说网络那些事儿,足不出户看直播,赶紧预约吧!  详情请点击

网友评论

1F
上海圆周率

支持Oracle数据库吗?

2F
低调的三爷

支持RDS SQLServer吗?

木酱

SQL Server 还在计划中

低调的三爷

大概什么时候可以支持?

大玮

太坑了,不能支持sql server

评论
3F
jsgslw

支持oracle吗?我没有用rds,是在ecs上装的oracle

木酱

这个库用node.js编写的,oracle官方有提供 lib,但是在安装这个 lib 的时候需要安装对应的支持文件。https://github.com/oracle/node-oracledb/blob/master/INSTALL.md

评论
4F
大海0912

oracle数据源如何配置,有教程吗,谢谢!

5F
fyggcn

怎么实现与店铺数据同步显示?

6F
dzwhh

我下载完,运行:make install ,提示:failed to create symbolic link ‘node’: File exists
Makefile:11: recipe for target 'pre_env' failed 这个是什么错误,调试很久都没用
@木酱

木酱

Makefile 里,这个错误是这里报出来的。
cd ~/bin
ln -s ../src/node-v4.4.5-linux-x64/bin/node node

这两行代码的目的是创建可执行的 node 命令,根据报错所说你的 node 已经存在了,那么可以执行 node -v 看看版本是不是 4.2.0 以上。如果是就可以跳过这一步,不是的话要么升级以前的 node,要么删掉重装。

评论
7F
zjhongyue

可以使用rds中的mysql数据库吗?

木酱

可以直接用的

评论
8F
百长钱包

[PM2][WARN] No process found

9F
孤独相望

大神们的数据源都是那来的啊 求地址 求链接

10F
jone4587

下载代码包和部署是用什么工具?不会弄

11F
吉豆

我连接阿里云RDS服务,????.mysql.rds.aliyuncs.com:3306,说域名不能解析

12F
吉豆

饼图只能显示成百分比吗? 我希望数据标签是显示数值可以吗?

13F
nnnnnnnnnnn

非常好用!什么时候能开放本地部署呢?还有SQL Server 支持?

永翎

您好SQL Server已经支持了!本地部署要到5月份

评论
14F
林麟

卡在这不动了

已配置DB:
test => connected
1

15F
fengruixiang

坐等支持 MSSQL

永翎

您好SQL Server已经支持了!

评论
16F
fengruixiang

给个建议,那些不在乎数据安全的应用,要做的只是传一个url

永翎 赞同
17F
和众信息部

SQL Server 什么时候能够支持 殷切期盼中

永翎

您好SQL Server已经支持了!本地部署要到5月份

评论
18F
liuhuibiao84

oracle 的数据源怎么配置

永翎

Oracle现在已经支持

评论
19F
游刃友鱼

DataV可以做成本地化部署吗

theseue

会有本地部署方案在五月份提供,敬请期待!

晟绮港储

现在本地部署有了吗?

评论
20F
cisr

WechatIMG3_jpeg这个报错怎么破

cisr

盼楼主回复下

bebetter

同问,你的问题解决了吗

木酱

您的服务器没连上本地的数据库,需要检查一下config.js中的配置

速客

Error: connect ECONNREFUSED 127.0.0.1:3306 都配好了,测试连接出现这个什么原因

评论
专精于业务数据与地理信息融合的大数据可视化,通过图形界面轻松搭建专业的可视化应用, 满足您日常业务监控、调度、会...

是解决用户结构化数据搜索需求的托管服务,支持数据结构、搜索排序、数据处理自由定制。 为您的网站或应用程序提供简单...

API 网关(API Gateway),提供高性能、高可用的 API 托管服务,帮助用户对外开放其部署在 ECS...

为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...