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

本文涉及的产品
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
数据可视化DataV,5个大屏 1个月
简介: ~ 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
相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
目录
相关文章
|
2月前
|
API 数据库 C语言
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
197 0
|
2月前
|
关系型数据库 MySQL 数据库
mysql添加用户并设置数据库权限
mysql添加用户并设置数据库权限
|
26天前
|
运维 数据管理 数据库
数据管理DMS产品使用合集之遇到报错:数据库账号没有权限执行,该如何排查
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
24 2
|
1月前
|
SQL 关系型数据库 MySQL
【权限提升】六种数据库提权&口令获取
【权限提升】六种数据库提权&口令获取
|
24天前
|
DataWorks Oracle 数据库连接
DataWorks产品使用合集之如何实现数据集成接入提供ODBC API的Oracle数据库
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
25 0
|
1月前
|
NoSQL 关系型数据库 Serverless
Serverless 应用引擎产品使用合集之连接RDS、Redis等数据库时,是否需要通过安全组来控制访问权限
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
1月前
|
关系型数据库 MySQL Linux
Linux下mysql添加用户并授权数据库权限
Linux下mysql添加用户并授权数据库权限
67 0
|
2月前
|
前端开发 API 数据库
Django(五):如何在Django中通过API提供数据库数据给前端
Django(五):如何在Django中通过API提供数据库数据给前端
115 9
|
2月前
|
SQL JavaScript API
❤Nodejs 第四章(操作本地数据库实现删除-源码地址已开放)
【4月更文挑战第4天】❤Nodejs 第四章(操作本地数据库实现删除-源码地址已开放)在Node.js中实现删除本地数据库记录的操作。首先尝试通过SQL删除ID为8的用户,然后编写`app.delete`路由处理程序,从请求体获取ID并执行删除。。最终成功删除用户并展示了数据库的更新结果。下一节将优化增删改查功能。
40 1
|
2月前
|
SQL Java 数据库连接
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
34 0

热门文章

最新文章

相关产品

  • DataV数据可视化