• FATAL: password authentication failed for user "XXX"


    一、环境

    操作系统:Windows Server 2008 R2

    数据库:PostgreSQL 9.2 + PostgreSQL 11.4  (因应用特殊需求,使用了两个版本数据库)

    应用:Tomcat 8.5.51

    二、问题描述

    现场一般对于同一应用部署有测试、正式两套,在测试环境运行正常的系统,正式环境部署后,系统内数据均展示。

    三、解决过程

    1、查看后台错误日志,发现Windows系统Tomcat日志刷新太快,最开始是的错误日志都刷过去了,后面的日志也没有多少参考价值,未发现问题。

    2、切换正式、测试两套环境所连数据库,确定为数据库问题,应用部署包正常。

    3、检查正式数据库主要表,无缺失,可以正常访问。

    4、通过fiddler跟踪数据调取接口,然后使用postman进行测试,发现测试环境有数据返回,正式环境返回查询成功但无实际数据返回。这一步其实比较误导人,不清楚为啥根本没有连接进入数据库还会返回查询成功的提示。

    5、找到第四步接口的具体执行SQL,通过Navicat连接数据库执行,正式测试均可以返回正常结果(比较头大,按理说正式环境应该出错才对呀,咋不按套路出牌,不讲武德呀….)。

    6、回归第一步,鼓捣了一下日志输出不行,直接将文件复制到linux环境下,通过tail命令打印实时错误日志,发现最初的错误提示如下:

    image

    7、聚焦第六步错误,进行密码、密码过期等检查,均无问题。

    8、无意中发现有人遇到类似的问题(参考:https://blog.csdn.net/u011078141/article/details/88665952),jdbc连接Postgresql数据库时出现这个错误,用Navicat等正常,这个和用户密码认证方式有关,修改

    data文件夹下的pg_hba.conf文件,设置认证方式为trust,保存重启服务后测试解决问题。

    image

    一个简单的问题花了近两天的时间才解决,这罪遭的…..

  • 相关阅读:
    getWidth() 和 getMeasuredWidth()的区别
    解决 win7 注册com组件失败问题
    Documentation/PCI/pci-iov-howto.txt
    Android Migrate Android Code
    struts2 18拦截器详解(九)
    使用Maven模板创建项目
    转换基于Maven的Web应用程序支持Eclipse IDE
    转换基于Maven的Java项目支持Eclipse IDE
    Eclipse构建Maven项目
    NetBeans IDE集成Maven
  • 原文地址:https://www.cnblogs.com/Jingkunliu/p/14275926.html
Copyright © 2020-2023  润新知