PostgreSQL数据库忘记postgres账号密码问题的解决
PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。PostgreSQL最初设想于1986年,当时被叫做Berkley Postgres Project。该项目一直到1994年都处于演进和修改中,直到开发人员Andrew Yu和Jolly Chen在Postgres中添加了一个SQL(Structured Query Language,结构化查询语言)翻译程序,该版本叫做Postgres95,在开放源代码社区发放。
下面给大家介绍下PostgreSQL忘记postgres密码的处理方法,具体内容如下所示:
PostgreSQL数据库中,假如你忘记了postgres账号的密码或者由于工作交接问题,等交接到你手头的时候,没有postgres账号密码,那怎么办呢?其实不用慌,像MySQL、SQL Server等数据库一样,只要你拥有操作系统权限,修改postgres超级账号的密码也非常方便简单。下面测试环境为CentOS Linux release 7.2.1511 (Core), PostgreSQL数据库版本为9.5。其它不同版本的操作其实是一样的,只是略有细微差别。
1:定位pg_hba.conf文件位置首先找到pg_hba.conf文件的位置,具体有下面这些方法:
方法1:locate定位pg_hba.conf文件的位置
$ locate pg_hba.conf
/usr/pgsql-9.5/share/pg_hba.conf.sample
/var/lib/pgsql/9.5/data/pg_hba.conf
方法2:find命令查找。
$ find / -name "pg_hba.conf" 2 %1 | grep -v "Permission denied" /var/lib/pgsql/9.5/data/pg_hba.conf2:修改pg_hba.conf配置文件
修改pg_hba.conf前最好做一个备份,这是一个良好的习惯,避免回滚的时候,你能轻松回撤所有操作。
#cp /var/lib/pgsql/9.5/data/pg_hba.conf /var/lib/pgsql/9.5/data/pg_hba.conf.20210125
在pg_hba.conf中找到类似下面这样的地方:
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident # Allow access from all host to connect to this UAT server host all all 0.0.0.0/0 md5
关于修改pg_hba.conf,如果你打算以socket方式在本机登录数据库,那么只需修改local这条记录,将pg_hba.conf中的这个选项的的值从md5修改为trust
修改前
# local is for Unix domain socket connections only
local all all md5
修改后
# local is for Unix domain socket connections only
local all all trust
trust表示允许可信的本地连接。此时连接数据库不用输入密码。
小知识:
TYPE表示主机类型,它的取值有下面这些:
local :表示是unix-domain的socket连接
host :表示TCP/IP socket
hostssl: 表示SSL加密的TCP/IP socket
如果你打算以TCP/IP方式访问数据库,即psql -h127.0.0.1 -Upostgres这样的方式,那么必须修改host的配置。具体如下所示:
# IPv4 local connections: host all all 127.0.0.1/32 md5
3: 重启PostgreSQL服务重启PostgreSQL服务的方法很多,这里不做过多介绍,选择你常用的方式即可。
# service postgresql-9.5 stop Redirecting to /bin/systemctl stop postgresql-9.5.service # service postgresql-9.5 start Redirecting to /bin/systemctl start postgresql-9.5.service # service postgresql-9.5 status Redirecting to /bin/systemctl status postgresql-9.5.service4:重置账号postgres的密码使用psql无密码登录,修改用户postgres的密码
alter user postgres with password 新的密码
方式1:
#psql -U postgres
方式2:
#psql
关于两者,如果ssh是用postgres用户连接服务器的话,那么直接psql即可,如果是root用户连接服务器的话,必须用psql -U postgres
-bash-4.2$ psql psql (9.5.6) Type "help" for help. postgres=# alter user postgres with password "xxxxxxxx"; ALTER ROLE5:恢复pg_hba.conf配置文件的修改 6:重启PostgreSQL服务到此这篇关于PostgreSQL忘记postgres账号的密码的解决方法的文章就介绍到这了,更多相关PostgreSQL忘记postgres密码内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 PostgreSQL数据库忘记postgres账号密码问题的解决
相关文章
- SpringBoot连接使用PostgreSql数据库
- 数据库 PostgreSQL 常用命令
- PostgreSQL数据库物理备份恢复之 pg_rman的用法介绍
- postgresql 数据库基础 之 如何实现将数组变为行
- postgresql修改完端口后直接psql连接数据库报错的解决
- CentOS7安装并配置PostgreSQL详解数据库
- PostgreSQL使用localhost可以连接/使用IP无法连接的问题解决详解数据库
- postgresql—-JOIN之多表查询详解数据库
- postgresql—-表分区详解数据库
- postgresql—-数据库表约束—-PRIMARY KEY详解数据库
- Linux下,postgreSQL的查看与重启详解数据库
- PostgreSQL vs. MySQL: 数据库对比(postgresql和mysql)
- PostgreSQL数据库同步实践(postgresql同步)
- PostgreSQL编码协议:改变数据库架构(postgresql协议)
- PostgreSQL:实现强大优势的数据库(postgresql优势)
- 创建PostgreSQL数据库:一步一步操作指南(postgresql创建数据库)
- PostgreSQL性能调优实践(postgresql调优)
- Postgresql数据库备份实践:简单而又必要(postgresql数据库备份)
- PostgreSQL注入攻击:防范你的数据库(postgresql注入)
- PostgreSQL语法简介(postgresql语法)
- 深入探索PostgreSQL特性,助力数据库开发与管理(postgresql特性)
- PostgreSQL拼接技巧:实现高效数据整合(postgresql拼接)
- 编译PostgreSQL:一步一步实现数据库功能(postgresql编译)
- PostgreSQL文档:完整的指南和参考资料(postgresql文档)
- PostgreSQL论坛:聚焦数据库技术分享与交流!(postgresql论坛)
- 优化提升数据库性能:PostgreSQL优化指南(postgresql性能)
- 使用python将mdb数据库文件导入postgresql数据库示例