您好,登录后才能下订单哦!
这期内容当中小编将会给大家带来有关忘记PostgreSQL账号密码如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
首先找到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
修改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
重启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
使用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
上述就是小编为大家分享的忘记PostgreSQL账号密码如何解决了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。