概述

应用连接Windows平台的KingbaseES 数据库,报错“com.kingbase8.util.KSQLException: 致命错误: 用户"system" Password 认证失败(kbjdbc:autodetected server-encoding to be GB2312, if the message is not readable, please check database logs and/or host,port,dbname,user,password,pg_hba.conf)”

适用于:

在Windows系统部署的任意版本KingbaseES数据库。

问题现象:

Windows系统使用KingbaseES数据库Kstudio客户端工具、KingbaseES JDBC驱动、KingbaseES Ndp驱动连接KingbaseES Server提示异常,异常信息如下。

致命错误: 用户"system" Password 认证失败(kbjdbc:autodetected server-encoding to be GB2312, if the message is not readable, please check database logs and/or host,port,dbname,user,password,pg_hba.conf)

原因:

在Windows系统部署了KingbaseES数据库服务端,但是由于widnows系统不支持连接使用基于scram-sha-256/md5认证方法,导致连接出现异常。

注意:KingbaseES数据库默认连接使用认证方法是scram-sha-256。

解决方法:

  1. 检查KingbaseES数据库sys_hba.conf配置文件,如果认证方法(METHOD列的值)是md5/scram-sha-256,修改认证方法(METHOD列的值)为password/trust。
  2. 修改KingbaseES数据库sys_hba.conf配置文件连接认证方法后,重新加载下配置文件,然后再次尝试连接。
# 使修改后的sys_hba.conf配置文件生效方法
# 1 ksql登录数据库执行以下命令
select sys_reload_conf();
# 2 使用sys_ctl reload命令
sys_ctl -D data路径 reload
# 3 使用sys_ctl restart命令重启数据库
sys_ctl -D data路径 restart

关于认证方法:

  1. SCRAM-SHA-256口令认证:
方法"scram-sha-256"执行SCRAM-SHA-256认证。可防止密码在不可信的连接上被嗅探,并支持以密码散列的形式将密码存储在服务器上。属于安全的认证方法。低版本的jdbc驱动不支持此方法。
  1. MD5口令认证:
方法"md5"使用自定义安全性较低的质询-响应机制。可以防止密码被嗅探,并避免以纯文本形式将密码存储在服务器上,但如果攻击者设法从服务器窃取密码哈希,则不提供保护。
如果在sys_hba.conf中使用md5认证方法,但数据库服务器上用户的密码是SCRAM加密的,那么数据库会自动选择基于SCRAM的认证方法。
  1. Password口令认证:
方法"password"以明文形式发送密码,因此密码容易被嗅探获取。应尽量避免使用"password"认证方法。
如果必须使用"password"认证方法,应该结合SSL加密一起,这样"password"就可以安全的使用而不用担心密码被嗅探获取。
  1. trust信任认证:
当使用"trust"信任认证时,任意可以连接到数据库服务器的人都可以无限制的访问数据库。
在系统层对进入数据库服务器的连接有足够保护、安全限制时,才可以使用这种方法。

连接Windows 平台 KingbaseES异常的更多相关文章

  1. Windows平台开发Mapreduce程序远程调用运行在Hadoop集群—Yarn调度引擎异常

    共享原因:虽然用一篇博文写问题感觉有点奢侈,但是搜索百度,相关文章太少了,苦苦探寻日志才找到解决方案. 遇到问题:在windows平台上开发的mapreduce程序,运行迟迟没有结果. Mapredu ...

  2. 连接LilyPad之Windows平台的驱动

    连接LilyPad之Windows平台的驱动 LilyPad和其他的Arduino控制板的不同之处是它是为电子织物和可穿戴设计的.那么,它的大小就必须要紧凑.所以,它并没有板载其他大多数板子都具有的U ...

  3. windows平台使用MongoDB shell 来连接 MongoDB 服务器并创建数据库

    windows平台使用MongoDB shell 来连接 MongoDB 服务器并创建数据库 命令行进入MongoDB的bin目录运行mongod.exe mongod --dbpath c:\dat ...

  4. Windows平台分布式架构实践 - 负载均衡(下)

    概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...

  5. Windows平台下利用APM来做负载均衡方案 - 负载均衡(下)

    概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...

  6. 【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(转)

    原文链接:[MongoDB]windows平台搭建Mongo数据库复制集(类似集群)(一) Replica  Sets(复制集)是在mongodDB1.6版本开始新增的功能,它可以实现故障自动切换和自 ...

  7. Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决

    Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决 I. 概述 1.1 JDBC概念 JDBC(Java Database Connectivity ...

  8. 详解 UWP (通用 Windows 平台) 中的两种 HttpClient API

    UWP (通用 Windows 平台) 应用开发者在构建通过 HTTP 与 Web 服务或服务器断点交互的应用时,有多种 API 可以选择.要在一个托管 UWP 应用中实现 HTTP 客户端角色,最常 ...

  9. windows平台是上的sublime编辑远程linux平台上的文件

    sublime是个跨平台的强大的代码编辑工具,不多说. 想使用sublime完毕linux平台下django网站的代码编辑工作以提高效率(原来使用linux下的vim效率较低,适合编辑一些小脚本). ...

  10. 【MongoDB】windows平台搭建Mongo数据库复制集(相似集群)(三)

    关于windows平台搭建Mongo数据库复制集这个话题,我已经在前面写了两篇博客 第一篇: 怎样在windows平台搭建Mongo数据库复制集 第二篇: 数据同步和故障自适应測试 在本篇里面,咱们重 ...

随机推荐

  1. The Network Adapter could not establish the connection errorCode 17002, state 08006

    问题说明 今天在centos7虚拟机中运行java程序,程序启动需要连接主机的oracle,报错: The Network Adapter could not establish the connec ...

  2. win32 - QueryDisplayConfig的使用

    QueryDisplayConfig函数检索关于所有显示设备的所有可能的显示路径,或视图,在当前设置的信息. C++样本: (开箱即用) 代码列出了所有显示器的名称和拓展模式 #include < ...

  3. 详解SSL证书系列(1)什么是SSL证书?

    你一定遇到过这种情况,打开一个网站,浏览器弹出警告"您与此网站之间建立的连接不安全.由于此连接不安全,因此信息(如密码或信用卡)不会安全地发送到此网站,并且可能被其他人截获或看到" ...

  4. timeit测试函数执行时间

    def list_append(): l = [] for i in range(5000): l.append(i) def list_insert(): l = [] for i in range ...

  5. 正则表达式re模块---day18

    1.匹配单个字符 import re lst = re.findall(正则表达式,要匹配的字符串) 返回的是列表,按照正则表达式匹配到的内容都扔到列表中 # ### 1.预定义字符集 # \d 匹配 ...

  6. 【LeetCode剑指offer 01】数组中重复的数字、两个栈实现队列

    数组中重复的数字 数组中重复的数字 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数 ...

  7. 【LeetCode链表#6】移除链表元素

    移除链表元素 题目 力扣题目链接(opens new window) 题意:删除链表中等于给定值 val 的所有节点. 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 ...

  8. 《HelloGitHub》第 95 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...

  9. adb monkey 有哪些参数?

    adb monkey 是 Android Debug Bridge (ADB) 工具中的一个命令,用于执行随机事件来对 Android 应用进行压力测试.以下是 adb monkey 命令的一些常用参 ...

  10. RocketMQ(3) 根据消息key查询功能的实现: indexFile

    三: indexFile 除了通过通常的指定Topic进行消息消费外,RocketMQ还提供了根据key进行消息查询的功能. 该查询是通过store目录中的index子目录中的indexFile进行索 ...