概述

应用连接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. CSS实现展开动画

    CSS实现展开动画 展开收起效果是比较常见的一种交互方式,通常的做法是控制display属性值在none和其它值之间切换,虽说功能可以实现,但是效果略显生硬,所以会有这样的需求--希望元素展开收起能具 ...

  2. C++字符串大写字母转小写字母

    #include <iostream> #include <stdio.h> using namespace std; char* Capital_to_Small(char* ...

  3. C++ GDAL用CreateCopy()新建栅格并修改波段的个数

      本文介绍基于C++语言GDAL库,为CreateCopy()函数创建的栅格图像添加更多波段的方法.   在C++语言的GDAL库中,我们可以基于CreateCopy()函数与Create()函数创 ...

  4. mysql进阶优化2---day41

    # ### part1 索引树高度 # 1.表的数据量 数据量越大,树的高度就会变高,理论上三层索引树的高度最为理想,可以支持百万级别的数据量 解决:可以使用分表(横切,竖切),分库,增加缓存,解决数 ...

  5. linux基本命令--day02

    目录树架构示意图 以下是对这些目录的解释: /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令. /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以 ...

  6. C++异常的基本概念与用法

    //异常的概念/*抛出异常后必须要捕获,否则终止程序(到最外层后会交给main管理,main的行为就是终止) try{}内写可能会抛出异常的代码.catch(类型){处理} 写异常类型和异常处理 抛出 ...

  7. Java 多态 解释+案例

    1 package com.bytezreo.duotai; 2 /** 3 * 4 * @Description 面向对象的特征三 ------多态性 5 * @author Bytezero·zh ...

  8. SHA算法:数据完整性的守护者

    一.SHA算法的起源与演进 SHA(Secure Hash Algorithm)算法是一种哈希算法,最初由美国国家安全局(NSA)设计并由国家标准技术研究所(NIST)发布.SHA算法的目的是生成数据 ...

  9. kubectl create 与 kubectl apply的区别

    kubectl apply和kubectl create都是Kubernetes(k8s)中用于创建或更新资源的命令,但它们在使用方式.功能和灵活性上存在一些区别. 声明式与命令式: kubectl ...

  10. DiagnosticSource DiagnosticListener 无侵入式分布式跟踪

    ASP.NET Core 中的框架中发出大量诊断事件,包括当前请求进入请求完成事件,HttpClient发出收到与响应,EFCore查询等等. 我们可以利用DiagnosticListener来选择性 ...