项目介绍

所有企业都面临的一个需求就是需要运维开发人员连接线上生产库进行数据查询或解决线上问题,但又担心开发人员查询线上敏感数据甚至拖库。一般做法都是:

  1. 通过数据库账号限制查询人员、限制查询的表和字段。但不好统计开发人员都查询了什么数据

  2. 使用跳板机,所有查询都要在跳板机上进行。进出跳板机数据文件要过审查机制。

  3. 使用第三方系统,记录每人的查询语句,并限制查询。

从上向下规则是越来越严。第一级直接由DBA进行查询账号权限限制即可,第二级推荐使用远程桌面之类的限制远程访问权限限制粘贴板可实现 。第三级基本都是基于WEB的系统,查询语句入库限制查询结果,并记录用户查询SQL。

我们想使用第三级,但能支持的数据库只有MySql没有发现能支持微软SqlServer的。本项目就是在这个基础上进行开发的。

目前支持的功能列表

  1. 多账号登录,强制二次验证【OTP】保证登录的安全。

  2. 查询的目标数据库支持SqlServer和MySql。使用druid数据库连接池

  3. 数据库记录每次SQL执行脚本,并限制返回的结果数量

  4. 支持查询结果的csv格式导出

  5. 脚本输入框语法高亮,智能提醒

  6. 存储过程查看,表数据大小快速查看

项目部署

环境安装

本项目使用Reactjs+Springboot+mysql的组合。最简项目运行可以使用Docker来运行。

# 首先下载数据库初始化脚本 wget https://github.com/guohai163/java-sql-web/raw/master/script/init.sql# 按初始化脚本编辑修改.sql文件。vim init.sql# 启动数据库容器,把刚下载好的init.sql文件映射到容器里的docker-entrypoint-initdb.d目录下。为了启动容器自动创建我们需要的库和表。参数MYSQL_ROOT_PASSWORD后为数据库root用户密码,请更换成更安全的docker run --name jswdb -v /opt/java-sql-admin/script:/docker-entrypoint-initdb.d -e  MYSQL_ROOT_PASSWORD=my-secret-pw -d mariadb:10# 启动javasqladmin容器,如dockerhub无法连接可以使用备用的地址 docker.pkg.github.com/guohai163/java-sql-web/javasqlweb:0.5.0docker run --name jsw_web -d --rm --link jswdb:db -p 80:8002 -e MARIADB_PORT_3306_TCP_ADDR=db,MARIADB_ENV_MYSQL_ROOT_PASSWORD=my-secret-pw gcontainer/java-sql-web:0.5.0# 使用浏览器访问 open http://localhost

系统使用

  1. 使用浏览器打开上一步容器安装的机器IP。默认用户名密码为admin/admin。点击登录

  2. 为了保证系统的安全,首次登录我们需要绑定OTP动态码,可以点击下载安卓或iOS版本客户端。安装好后扫码即可得到6位的动态码。之后每次登录都要求输入该6位动态码。因我们使用HTOP算法来进行安全验证,请控制服务器的时间误差在30秒内,否则可能会提示动态码错误

  3. 进入主界面后我们先进入后台进行基本的设置管理。

  4. 首选我们看如何增加待管理的数据库服务器,选择服务器管理=>增加服务器。在弹层中添加你的服务器相关信息。

  5. 我们顺便给平台在增加一个用户。点击账号管理=>增加用户,在弹层内输入新用户的账号和密码即可。所有用户首次登录都会强制要求绑定OTP。

  6. 我们返回前台,看看主界面,主界面分为左右两部分,左侧主要为数据库和表的导航。右侧主要为SQL语句书写区,执行结果展示区。

    需要注意的是:

    1. 左侧库下面的表的数据信息部分会进行客户端本地缓存,缓存时长为24小时。可能表的行数不会实时返回到页面上。如需要强制更新请清除浏览器缓存

    2. 右侧的SQL输入区支持SQL语法的快速补全,按下键盘的Ctrl键即可进行补全。还支持只执行选中的SQL语句

    3. 历史记录区域会按服务器进行区分,并缓存在浏览器本地。换浏览器后历史记录不会带走请注意。

    4. 对于查询结果,配置文件中可以进行限制一次最大返回条数,如果查询数据超过最大返回条数,客户端会进行弹层提示。

    5. 点击存储过程,可以快速查看存储过程的创建语句。

  7. 后台日志:经过几次的试用可以去往后台的查询日志。可以看到用户的数据执行情况。

库查询所有表的权限_JSW 基于WEB的MSSQL数据库查询平台相关推荐

  1. 计算机毕业设计springboot基于web的数码产品应用平台设计与实现

    最新计算机专业原创毕业设计参考选题都有源码+数据库是近期作品 CSDN不经常在线,有时间看到机会给您发 [1] springboot基于web的数码产品应用平台设计与实现 [2] ssm漠河旅游官网 ...

  2. 计算机虚拟网络毕业论文,计算机毕业论文——基于WEB的虚拟计算机网络实验平台.doc...

    PAGE Tianjin University of Technology and Education 毕 业 设 计 专 业: 计算机科学与技术 班级学号: 计0203班 – 11 学生姓名: 指导 ...

  3. 怎么从头开始构建一个基于web浏览器的云游戏平台--前言——带目录

    怎么从头开始构建一个基于web浏览器的云游戏平台–前言 今天开一个新坑,公司突然开始涉及云游戏,还要基于web端,区别于现有的大多数云游戏平台,有点类似于在国内搞一个谷歌云游戏的模式,自己本身对云游戏 ...

  4. 计算机毕业设计之java+ssm基于web的智能卤菜销售平台

    计算机毕业设计之java+ssm基于web的智能卤菜销售平台 项目介绍 随着互联网技术的高速发展,人们生活的各方面都受到互联网技术的影响.现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系 ...

  5. 基于Web的房地产乳霜营销平台

    基于Web的房地产乳霜营销平台 事实上,它已被证明一次又一次,有效的营销是肯定火的方式来提高销售业绩和收入.销售和市场营销齐头并进,只是因为大多数公司依靠优秀的营销,以产生更大的销量.尽管市场本身就是 ...

  6. 基于html5的城市公交查询系统,基于WEB的智能公交查询系统的研究与设计

    摘要: 我国城市公交查询系统的发展处于一个较落后的水平,广大乘客可以获得信息的方式很少,为了解决这种问题,加快发展城市公交信息化,设计了这个城市公交出行线路查询系统.公交换乘查询系统是MAS技术和We ...

  7. 【数据库系统】Web查找和数据库查询的区别

    Web查找中使用的关键字查询与数据库查询很不一样,下面列举二者在查询表达方式和查询结果方面的差别: Web中使用的查询通过提供没有特定语法的关键字列表来指定.Web查询的结果通常是URL的有序列表,以 ...

  8. mongo-admin基于Web的Mongodb数据库管理系统

    1.基本介绍 该项目是基于Web的Mongodb数据库管理工具. 项目地址:https://github.com/ammi3/mongo-admin 演示地址:http://47.98.136.116 ...

  9. 基于WEB的水果电商平台设计与实现

    开发工具(eclipse/idea): eclipse4.5/4.8或者idea2018,jdk1.8 数据库:mysql 功能模块: 前端页面模块(登录与注册.水果分类.查询模块.热销水果模块.购物 ...

最新文章

  1. 臻好黄金百香果苗做一个有脑子的程序员
  2. python编程标准_python编程规范
  3. MATALO OPENCART 自适应主题模板 ABC-0679-02
  4. python asyncio理解_我实在不懂Python的Asyncio
  5. 创业冲突的五种解决方法是_不会说话,不懂处理人际冲突怎么办?《沟通的艺术》5步教会你...
  6. threejs 用 ExtrudeGeometry 画管线
  7. fedora27安装谷歌浏览器Chrome
  8. 四川名菜--水煮牛肉
  9. 北邮计算机机试的编译器,北邮2018计算机院考研复试机试上机题解+结果统计
  10. 用户扫描二维码进入公众号后自动发送指定消息_公众号裂变,社群裂变,个人号裂变,运营操作指南...
  11. go中break continue的使用:示例
  12. arduino 有源 蜂鸣器_Arduino入门教程--第八课--用蜂鸣器模拟警报器
  13. ACM竞赛题目6:身高排序
  14. linux怎么设置文件访问权限,Linux文件和目录访问权限设置
  15. 使用VBA让Word或Excel文档窗口置顶
  16. 空格、NBSP 造成的 JSON 解析失败问题
  17. RT9193稳压芯片的电路原理图
  18. 职场防背锅的有效方式
  19. pthread_cancel 退出线程引起死锁的问题和解决方法
  20. 计算机网络利弊的作文英语作文,关于远程网络教育利弊的英语作文.doc

热门文章

  1. OpenCV4每日一练day11:单目位姿估计
  2. 小学生计算机学科竞赛类活动,自主招生/综合评价认可哪些科创类赛事?2020届参考...
  3. skala view android,Skala Preview for mac
  4. unix 获取程序占用内存_如何减少Docker和Kubernetes中的JVM应用程序内存占用
  5. 上传文件到服务器地址怎么配置,文件上传到服务器怎么配置
  6. typescript 判断异步执行已经结束_vue进阶系列——用typescript玩转vue和vuex
  7. 微信群怎么设置验证加入_怎么让微信群裂变拉人/拉人进群奖励方案/微信裂变营销方案策划...
  8. 大学计算机思维导图_【21计算机考研】改考408+1!上海电力大学翻倍扩招,仍考数据结构!...
  9. 无法连接到远程网络连接到服务器失败怎么办,无法远程桌面连接到服务器怎么办(连接失败原因和解决法)...
  10. C++安全方向(二):2.4 openssl_BIO接口解析