SQLark:高效数据库连接管理的新篇章
在我们日常工作中,不同的项目使用的数据库不同,比如我这边涉及的数据库就有达梦、Oracle、Mysql,每种数据库都有自己的数据库连接工具,我们不得不在电脑上针对每个数据库都装一个客户端,使用时还得在不同数据库连接工具中切来切去,相当麻烦,最近找到了一款国产的、可以管理不同类型的数据库连接工具——SQLark。
SQLark 是一款面向信创应用开发者的数据库开发和管理工具,现已支持达梦、Oracle 和 MySQL 数据库,后续还会支持更多其他的数据库。
下面我们就来看看怎么使用SQLark实现各种类型的数据库连接管理需求。
前往SQLark官网:www.sqlark.com 注册永久免费!
新建连接
SQLark的安装相当简单,一键傻瓜式安装,这里就不多说了,完成SQLark客户端的安装后,点击立即体验,在主界面的菜单栏(文件-新建连接)、工具栏(连接)、左侧导航栏、主窗口中都可以找到新建连接的入口:
点击连接,可以打开新建连接的窗口,在子窗口中输入数据库的相关信息,点击保存即可完成连接的新建;
测试连接:保存前,测试一下是否能连接成功;
保存:直接保存连接,不做连接信息正确性校验;
连接:保存并打开连接;
历史连接:打开过的连接都会在历史连接中记录;
目前针对达梦、Oracle、Mysql,都支持两种连接方式:默认和URL,可以在新建连接界面-连接方式中进行切换:
连接方式:默认
一般常用的都是默认连接方式,我们只需要输入数据库服务器的主机、端口、用户名、密码信息,点击连接即可;
连接方式:URL
除了默认的连接方式,SQLark也支持使用JDBC URL连接串来进行数据库连接,如果在新建数据库连接时有特殊的参数需求,可以使用url连接在url连接串中带上相关的参数;
达梦url连接串常用格式有:
默认url:jdbc:dm://localhost:5236
- jdbc:dm://192.168.0.96:5236?user=SYSDBA&password=abcdefghijk
- jdbc:dm://?host=192.168.0.96&port=5236
Oracle url连接串常用格式有:
默认url:jdbc:oracle:thin:@//localhost:1521/orcl
jdbc:oracle:thin:@localhost:1524:orclcdb?user=system&password=123456
Mysql url连接串常用格式有:
- jdbc:mysql://localhost:3306/------不带参数
- jdbc:mysql://localhost/sys?user=root&password=Dameng123
- jdbc:mysql://localhost/sys?&useUnicode=true&characterEncoding=8859_1
SSH安全连接
除了上面的普通连接外,SQLark还支持SSH安全连接,SSH(Secure Shell)是一种用于安全远程登录和数据传输的网络协议。它通过加密的连接在客户端和服务器之间建立通信,确保数据的安全性和完整性。SSH连接数据库主要依赖于三个核心因素:SSH协议、网络连接、数据库客户端工具。所以在新建SSH连接之前需要先确保已经完成了相关的配置:
1、在数据库服务器上启用SSH服务,并确保我们有SSH登录的凭证(用户名和密码);
2、数据库服务器上SSH服务可以将请求转发给数据库服务;
3、SQLark客户端可以连接到SSH服务器;
配置SSH通道连接时,需要确保SQLark——SSH服务器——数据库服务器之间的的网络连接是通的,否则会提示“SSH通道连接异常”,目前只支持通过输入用户名和密码来建立SSH隧道。
自定义驱动上传
针对达梦、Oracle、Mysql三种数据库,SQLark都提供了1-2种默认驱动供选择,如下图所示,达梦支持DM7/DM8,Oracle支持oracle11g/12c/19c/21c/23c,Mysql支持Mysql5.7/8.0,如果在新建数据库连接时对数据库驱动有特殊需求,也可以在驱动中点击上传驱动按钮,上传自己的驱动文件:
标记为生产环境
对于很多DBA来说,管理的数据库连接非常多,有时候打开的窗口太多,容易出现误操作,一不小心在生产环境上执行了不该执行的语句就大事不妙了,针对这种场景,SQLark提供了一个小功能,新建/修改连接时,可以将某些连接标记为生产环境:
标记为生产环境的连接打开的查询窗口会增加水印信息,同时底部页签信息也会显示成黄色背景,并标注“生产环境”,减少误操作的风险:
管理连接
导入导出连接
在工作中如果需要将连接信息备份或者分享给其他同事,SQLark提供了导入/导出连接的功能,可以一键备份所有连接信息,入口有点隐蔽,在左侧导航树的上侧,如下图:
另外,如果只需要备份一部分连接信息或者某个连接信息,也可以选中单个/多个连接,右键菜单-导出连接,如图:
批量管理连接
支持按住Shift键+鼠标进行连选,或者按住Ctrl键+鼠标进行点选,选中多个连接后,鼠标右键中支持批量打开数据库连接、断开数据库连接、导出数据库连接、删除数据库连接;
修改连接排序方式
选中一个数据库连接后,在左侧导航树上拖动连接,可以修改连接的排序方式;
数据库连接问题处理
在使用SQLark管理数据库连接时,不可避免会遇到各种问题,导致连接失败,后面经过查找资料和不断尝试,修改一些服务配置后,问题得到解决,下面详细记录了几个问题的解决方案。
1、DM8数据库,测试SSH连接时提示“SSH通道连接异常”
最近在虚拟机(操作系统:Kylin-Server-10-SP1-Release-Build20-20210518-x86_64)上安装了DM8,用本地安装的SQLark,开启SSH通道后,连接提示“SSH通道连接异常”,不开启SSH通道,直接连接数据库可以连接成功;
根据上面SSH连接的原理,开始一步一步排查:
- 首先数据库能直接连接成功,说明数据库服务及连接信息没问题;
- 本地用FinallShell工具也可以直接连接到SSH服务器,说明SQLark-SSH服务器直接的网络也没问题;
- 那就应该是SSH服务和数据库服务之间的网络不通,但是这两个服务在同一台服务器上,那就是SSH服务无法将请求转发到数据库服务,网上搜索了一下“sshd转发不生效”,根据提示修改SSH服务的配置信息,修改后使用systemctl restart sshd命令重启SSH服务;
- 重启SSH服务后,再次测试连接,就可以连接成功了。
2、Mysql数据库连接时,提示“Data source rejected establishment of connection, message from server: "Too many connections’”
最近新装了一个mysql8.0.36数据库,用一段时间后,打开连接弹出以下提示框:
看到mysql的这种一长串英文错误,第一件事就是复制错误信息,网上搜索一下,一般能找到答案。
原因:“Too many connections” 错误表明 MySQL 服务器上的并发连接数已经超过了其允许的最大连接数限制。每个MySQL客户端(如应用程序、脚本等)在尝试连接到MySQL服务器时都会占用一个连接。当连接数超过MySQL服务器配置的max_connections值时,新的连接请求就会被拒绝。MySQL 安装完成后,默认的最大连接数是100
解决方法:增加max_connections值,进入mysql的安装目录,打开配置文件my.ini(windows)或者my.cnf(linux)找到max_connections,修改max_connections的值,修改完成后重启mysql服务即可。
3、Mysql数据库连接时,提示“连接失败:null, message from server: "Host92.168 117.71"is not allowed to connect to this MySQL server“”
刚装好mysql8.0.36数据库后,用本地的SQLark客户端可以连接成功,但是换了一台电脑远程连接就出现下面的错误,提示连接失败:
在网上搜索“mysql本地连接正常但无法远程连接”的解决方法,找到了原因及解决方法。
原因:MySQL 默认可能只允许本地连接;操作系统的防火墙可能阻止远程连接请求;MySQL 用户可能没有远程访问的权限。
解决方法:
- 检查MySQL 的配置文件:mysql的安装目录下,打开配置文件my.ini(windows)或者my.cnf(linux),找到bind-address参数,确保设置如下,如修改配置文件,需要重启mysql服务才能生效:
- 检查mysql所在服务器的防火墙设置:在 Windows 上,防火墙可能会阻止远程连接请求。因此,需要确保 3306 端口是开放的。在控制面板-防火墙设置-高级设置中新建入站规则,允许其他机器连接3306端口:
- 检查用户权限:连接到mysql服务后,执行SELECT host, user FROM mysql.user;如果用户仅限制在 localhost,那么需要进行更改,‘%’ 表示允许从任何主机连接,也可以根据具体需要,将 % 替换为具体的 IP 或主机名。
今天就介绍到这里,总的来说,SQLark还是能满足日常的数据库管理需求,期待SQLark能支持更多类型的数据库~