忘记PostgreSQL账号密码如何解决-创新互联

这期内容当中小编将会给大家带来有关忘记PostgreSQL账号密码如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

华龙网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

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.conf

2:修改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 -h227.0.0.1 -Upostgres这样的方式,那么必须修改host的配置。具体如下所示:

修改前:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
 
 
修改后:
# IPv4 local connections:
host all all 127.0.0.1/32 trust

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.service

4:重置账号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 ROLE

5:恢复pg_hba.conf配置文件的修改

6:重启PostgreSQL服务

上述就是小编为大家分享的忘记PostgreSQL账号密码如何解决了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


当前文章:忘记PostgreSQL账号密码如何解决-创新互联
本文网址:http://scjbc.cn/article/desdeg.html

其他资讯