当前位置: 首页 > article >正文

linux 使用docker安装 postgres 教程,踩坑实践

踩坑实践,安装好了不能远程访问。
防火墙已关闭、postgres 配置了允许所有ip 访问、网络是通的。端口也是开放的,就是不能用数据库链接工具访问。

最后发现是云服务器端口没开 ,将其打开
在这里插入图片描述
到这一步完全正确了,但是又报错了
关于连接PostgreSQL时提示 FATAL: password authentication failed for user “连接用户名” 的解决方法.
[postgres @ pgsqldb-master bin]$ psql -h 127.0.0.1 -U postgres
Password for user postgres:
psql: FATAL: password authentication failed for user “postgres”
原因:
之前配置允许所有ip 远程访问时,设置了md5 ,但是又没有更新密码。密码还是用的原来的 sha 加密存储的,所以不能链接上

解决方法

1、修改密码的认证方式(见下文),或者重新修改一下密码(记住每次修改认证方式后,重启数据,都需要更新一下用户密码)
网上都说 把method 参数改成 trust ,强烈不建议,这个参数意思是 允许不使用密码登录数据库,不安全
进入docker 挂载的卷路径,可以通过

docker inspect id  #查看

[postgres @ pgsqldb-master bin]$ vim ../data/pg_hba.conf

2、 重新启动docker 容器(博主使用的docker) 或者数据库服务
cat
3、再次修改你的密码(重要),因为你修改了数据库存储密码的方式,所以以前的密码是不管用了

docker exec it  id  bin/bash
psql -U <username> -d <dbname>
ALTER USER username WITH PASSWORD 'newpassword';

然后再次使用密码 链接即可成功,
在这里插入图片描述
不容易啊,历时10小时,终于弄好了数据库。也学到了很多东西。

pg_hba.conf配置参数详解

pg_hba.conf 文件主要用来配置数据库的访问权限。

TYPE 参数设置

TYPE 表示终端访问的主机类型,值可能为:
若为 local 表示是unix-domain的socket连接
若为 host 是TCP/IP socket
若为 hostssl 是SSL加密的TCP/IP socket

DATABASE 参数设置

DATABASE 表示数据库名称,值可能为:
all ,sameuser,samerole,replication,数据库名称 ,或者多个
数据库名称用 逗号,注意ALL不匹配 replication

USER 参数设置

USER 表示用户名称,值可以为:
all,一个用户名一组用户名 ,多个用户时,可以用 ,逗号隔开,
或者在用户名称前缀 + ;在USER和DATABASE字段,也可以写一个单独的
文件名称用 @ 前缀,该文件包含数据库名称或用户名称

ADDRESS 参数设置

该参数可以为 主机名称 或者IP/32(IPV4)IP/128(IPV6),主机
名称以 .开头,samehostsamenet 匹配任意Ip地址

METHOD 参数设置

该值可以为"trust", “reject”, “md5”, “password”, “scram-sha-256”,
“gss”, “sspi”, “ident”, “peer”, “pam”, “ldap”, “radius” or “cert”
[password] 表示采用明码发送密码
[md5] 表示密码在发送过程中,使用md5加密算法进行加密-也是最常用的加密方式
典型示例1

TYPE DATABASE USER ADDRESS METHOD

http://www.kler.cn/a/535676.html

相关文章:

  • nuxt3中使用useFetch请求刷新不返回数据或返回html结构问题解决-完整nuxt3useFetchtch请求封装
  • CSS实现自适应的正方形
  • gc buffer busy acquire导致的重大数据库性能故障
  • 《解锁GANs黑科技:打造影视游戏的逼真3D模型》
  • JVM为什么要指针压缩?为什么能指针压缩?原理是什么?
  • 109,【1】攻防世界 web 题目名称-文件包含
  • Unity3D 切线空间及其应用详解
  • springboot011-G县乡村生活垃圾治理问题中运输地图系统
  • 网络安全配置
  • 从源码到上线:AI在线教育系统开发全流程与网校APP构建指南
  • 使用 TensorRT 和 Python 实现高性能图像推理服务器
  • LeetCode 415
  • 无人机使用数传时的注意事项!
  • 尝试在Excel里调用硅基流动上的免费大语言模型
  • FFmpeg 头文件完美翻译之 libavdevice 模块
  • gc buffer busy acquire导致的重大数据库性能故障
  • Elasticsearch集群模式保姆级教程
  • MQTT:物联网时代的数据桥梁
  • 【Redisson分布式锁】基于redisson的分布式锁
  • 在 Vue Router 中,params和query的区别?
  • 使用EVE-NG实现VLAN
  • 绿联NAS安装cpolar内网穿透工具实现无公网IP远程访问教程
  • Vue.js 中 computed 和 watch 的使用场景
  • LangGraph中的Human-in-the-loop技术(GPT-4o 回答)
  • 园区网设计与实战
  • Oracle(windows安装遇到的ORA-12545、ORA-12154、ORA-12541、ORA-12514等问题)