信创环境下数据库的远程管理与DBeaver工具

前文谈到在信创环境下,常用的免费数据库主要是:SQLite、MariaDB(MySQL)和postgreSQL(瀚高数据库免费版),可以在一些产品中内嵌使用。在实际工作中,经常需要进行远程管理,DBeaver是开源免费的数据库远程管理工具,通过JDBC支持几乎所有类型的数据库系统,界面美观操作方便,是开发调试数据库的好帮手。

一、数据库远程管理配置

很多情况下需要对数据库进行远程管理和调试,尤其是在很多服务器关闭了SSH远程访问后,通过数据库的远程访问功能进行远程管理是很常用的操作。

远程访问首先要保证防火墙放开相应的端口,或者关闭防火墙。

postgreSQL/瀚高使用  5432端口

Mysql/MaraiDB使用    3306端口

SQLite是无服务,没有服务端口,无法直接远程访问。

达梦数据库使用      5236,端口,默认允许远程访问。

1. 瀚高数据库允许远程连接其他机器访问配置方法

https://blog.csdn.net/dongyang1124/article/details/82688780

安装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置。方法是要修改data目录下的pg_hba.conf和postgresql.conf。
1. 修改pg_hba.conf文件,配置用户对数据库的访问权限(#开头的行是注释内容):

    # TYPE DATABASE  USER    CIDR-ADDRESS     METHOD
    # "local" is for Unix domain socket connections only
    local all    all               trust
    # IPv4 local connections:
    host  all    all    127.0.0.1/32     trust
    host  all    all    156.18.0.0/16    trust
    # IPv6 local connections:
    host  all    all    ::1/128       trust

第7条表示允许网段156.18.0.0上的所有主机使用所有合法的数据库用户名访问数据库(trust,md5是提供加密的密码验证)。

2.修改postgresql.conf文件,配置PostgreSQL数据库服务器的相应的参数。
#listen_addresses=’localhost’,修改为listen_addresses=’*’,允许数据库服务器监听来自任何主机的连接请求。

2. Mysql远程访问

(1)检查/etc/mysql/mysql.conf.d/mysqld.cnf 文件(各个OS装的路径略有区别,我的centos安装后是/etc/my.cnf.d/server.cnf)。

  bind-address = 127.0.0.1这一行,应改为bind-address = 0.0.0.0

(2)命令行下 mysql -uroot -p,进入mysql>

可选删除匿名用户,delete from user where user='';

(3)给root授予在任意主机(%)访问任意数据库的所有权限 将权限改为ALL PRIVILEGES)。会在数据库mysql的表user中,增加一条记录。SQL语句如下:
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

mysql> flush privileges;

如果需要指定访问主机,可以把%替换为主机的IP或者主机名。

如果不想增加记录,只是想把某个已存在的用户(如root)修改成允许远程主机访问,则可以使用如下SQL:

   update user set host = ’%’ where user = ’root’;

#将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。  

【注】mysql重置密码,在/etc/my.cnf加入skip-grant-tables(同时注释password策略),重启后修复,详细参考《CentOS7安装mysql,并且重置mysql密码实现首次登录》。

二、DBeaver可视化工具管理数据库

DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,可以运行在各种操作系统上。DBeaver 采用 Eclipse 框架开发,支持插件扩展,并且提供了许多数据库管理工具:ER 图、数据导入/导出、数据库比较、模拟数据生成等。

DBeaver 通过 JDBC 连接到数据库,可以支持几乎所有的数据库产品,包括:MySQL、PostgreSQL、MariaDB、SQLite、Oracle、Db2、SQL Server、Sybase、MS Access、Teradata、Firebird、Derby 等等。社区版本是开源和免费的,商业版本更是可以支持各种 NoSQL 和大数据平台:MongoDB、InfluxDB、Apache Cassandra、Redis、Apache Hive 等。

1. 下载DBeaver

最新的DBeaver,JAVA需要1.8版本。

使用 -version 参数来查看当前 Java 的运行版本,命令如下:java -version

2. DBeaver中安装驱动

DBeaver通过JDBC驱动支持多种数据库,驱动管理器如图:

信创环境下数据库的远程管理与DBeaver工具_第1张图片 DBeaver驱动管理器

DBeaver下载驱动使用maven仓库,驱动是第一次使用的时候才下载,但默认的maven仓库不容易访问。

如果在国内使用,可以增加aliyun的maven仓库(参考https://blog.csdn.net/weixin_41562020/article/details/104973044)

找到菜单windows -> preferences -> Dbeavery  -> Drives -> maven,选择add

properties 设置为    id : alimaven

                               name: aliyun maven

                               url: http://maven.aliyun.com/nexus/content/groups/public/

内网中手动添加DBeaver驱动,如果在与互联网隔离的内部网络,需要自己手动下载。

例如:下载PostgreSQL的JDBC驱动,https://jdbc.postgresql.org/

找到对应JRE版本的JDBC,缺省已经是JRE8的版本驱动。https://jdbc.postgresql.org/download/postgresql-42.2.16.jar

将下载的JDBC驱动(.jar文件)复制到dbeaver的plugins目录下或其它目录,在驱动管理中增加(同时删除不可用的驱动版本)

幸运的是,有人制作了DBeaver-Driver-All ( DBeaver驱动包,所有JDBC驱动整合包),供DBeaver使用,无需每次都搜索和下载,好事一桩!https://github.com/moshowgame/dbeaver-driver-all

三、 DBeaver远程管理信创服务器的数据库

1. MariaDB(MySQL)

mariadb驱动安装、建立连接和DBeaver管理如下图。

信创环境下数据库的远程管理与DBeaver工具_第2张图片 手动增加MariaDB JDBC驱动

新建MariaDB/MySQL数据库连接如下图:

信创环境下数据库的远程管理与DBeaver工具_第3张图片 新增一个MariaDB数据库连接
信创环境下数据库的远程管理与DBeaver工具_第4张图片 管理MariaDB数据库

2. PostgreSQL(瀚高数据库)

瀚高数据库和PostgreSQL兼容,加载驱动和管理分别如下图:

信创环境下数据库的远程管理与DBeaver工具_第5张图片 手动增加postgreSQL JDBC驱动

 

信创环境下数据库的远程管理与DBeaver工具_第6张图片 管理PostgreSQL数据库

3. SQLite数据库

信创环境下数据库的远程管理与DBeaver工具_第7张图片 新建一个SQLite数据库连接(数据库文件)
信创环境下数据库的远程管理与DBeaver工具_第8张图片 管理SQLite数据库

4. 达梦数据库

达梦数据库作为国产主流数据库,在信创环境中占了比较大的比例。达梦也带有自己的图形化管理工具。同时,DBeaver也支持达梦数据库,更适合开发人员使用。

达梦数据库的一些基础知识可以参考“jiawold的博客”等。

达梦数据库从概念上而言基本上是和Oracle一致,默认端口号为:5236。下面以DM8.1为例说明如何使用DBeaver操作达梦数据库。

首先必备的是jdbc驱动,可以从DM光盘或者安装目录的driver/jdbc中找到,与1.6 1.7 1.8分别对应DM6 DM7 DM8版本。

(1)在DBeaver中新建数据库驱动,添加下载的jdbc驱动文件,并设置驱动参数。
注意,驱动类型要选择Oracle!否则很多管理功能是使用不了!!URL模板为“jdbc:dm://{host}:[{port}]/[{database}]”,端口号位5236。如下图:

信创环境下数据库的远程管理与DBeaver工具_第9张图片 在DBeaver中添加达梦数据jdbc驱动

新建一个达梦数据库连接,连接类型不要选择“基本”,否则会按Oracle的连接字符串,而要用“自定义”并填写真实的jdbc URL。
点击对话框左下方的【测试连接】,如图:

信创环境下数据库的远程管理与DBeaver工具_第10张图片 新建一个达梦数据库连接

 在DBeaver中操作达梦数据库,如下图:

信创环境下数据库的远程管理与DBeaver工具_第11张图片 DBeaver中操作达梦数据库

5. 人大金仓kingbase

手头没有这个数据库测试,可以参考《DBEAVER连接国产数据库人大金仓》和《适配国产数据库 - 人大金仓(KingBase8)》。

你可能感兴趣的:(信息系统,Linux资源访问与共享)