當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  數(shù)據(jù)庫(kù) >  正文

基于PostgreSQL密碼重置操作

 2021-06-02 17:13  來(lái)源: 腳本之家   我來(lái)投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)

今天我在用命令行登陸postgresql的時(shí)候,忽然忘記密碼了,重試了N次還是不行,然后我就試著上網(wǎng)找解決之道,最后完美的解決了,可是后來(lái)我才發(fā)現(xiàn)還有個(gè)更簡(jiǎn)單的方法,該篇博客用來(lái)記錄自己沙雕行為。

工具已登陸

這個(gè)就是最簡(jiǎn)單的方法,你有工具登陸過(guò),完全可以通過(guò)工具來(lái)修改(可是我當(dāng)時(shí)完全沒(méi)想到這個(gè)。。。),我是通過(guò)Navicat來(lái)連接的,可以直接通過(guò)Navicat來(lái)修改步驟如下:

1、連接數(shù)據(jù)庫(kù)

2、點(diǎn)擊角色

3、選擇角色

4、填入新密碼

5、保存之后,關(guān)閉連接,編輯連接就OK了。

工具未登錄

Windows

1、找到Postgresql安裝目錄下的data,打開(kāi)文件夾,找到pg_hba.conf

ps:如果大家找不到,那我推薦一個(gè)文件搜索神器:Listary,大家可以去試試,賊好用

2.用記事本格式打開(kāi),拉到最下面,找到所有md5,全都改為trust

3.重啟數(shù)據(jù)庫(kù),然后連接數(shù)據(jù)庫(kù),不輸入密碼,直接點(diǎn)連接,此時(shí)連接成功

ps:在windows的控制面板中,找到管理工具,然后找到服務(wù):postgresql,點(diǎn)擊右鍵 ,重啟就行了。

4.修改密碼

在客戶端修改

1alter user postgres with password 'YOUR PASSWORD'

5.或者重新打開(kāi)pgAdmin(即數(shù)據(jù)庫(kù)),連接服務(wù)器,不輸入密碼,直接點(diǎn)連接,此時(shí)連接成功

6.修改密碼,右鍵登陸角色中要修改密碼的賬戶,打開(kāi)屬性,點(diǎn)擊定義,輸入密碼,然后確定,此時(shí)修改密碼成功。如果重新打開(kāi)定義會(huì)發(fā)現(xiàn)密碼欄里依舊空白,但此時(shí)密碼已是新密碼。

7,最后將第一二步中的trust改回md5。重新啟動(dòng)數(shù)據(jù)庫(kù),輸入密碼,成功連接服務(wù)器。

Linux

如果是Linux下的話:

1、找到pg_hba.conf路徑

運(yùn)行

1ps ax | grep postgres | grep -v postgres:

得到:

25653 pts/0 S+  0:00 /usr/lib/postgresql/9.3/bin/psql -h 192.168.10.10 -p 5432 -U postgres -W
26679 ?  S  0:00 /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf
26924 pts/7 R+  0:00 grep --color=auto postgres

 

注意結(jié)果中有一個(gè)config_file,而config_file=/etc/postgresql/9.3/main/就是我們配置所在地

2、無(wú)密碼postgres登錄

修改pg_hba.confg

#原來(lái)是
host all    all    127.0.0.1/32   md5
# IPv6 local connections:
host all    all    ::1/128     md5
#改成
host all    all    127.0.0.1/32   trust
# IPv6 local connections:
host all    all    ::1/128     md5

 

ps:如果你重啟之后還是登陸不了,也可以將全部md5修改為trust

重啟postgresql服務(wù)

1sudo service postgresql restart

登錄

1psql -h 127.0.0.1 -U postgres

3、登錄修改密碼

修改密碼

1alter user postgres with password 'YOUR PASSWORD'

最后將pg_hba修改回去就好啦,也就是將所有的trust還原為md5。

補(bǔ)充:centos 8 docker安裝postgresql修改密碼,遠(yuǎn)程訪問(wèn)設(shè)置

一,修改密碼

1,進(jìn)入容器

1docker exec -it 834f03380346 bash

2,修改密碼

二,遠(yuǎn)程訪問(wèn)設(shè)置

1,修改配置文件

1)、修改pg_hba.conf文件

配置用戶的訪問(wèn)權(quán)限(#開(kāi)頭的行是注釋內(nèi)容):

 # TYPE DATABASE USER CIDR-ADDRESS  METHOD
 # "local" is for Unix domain socket connections only
 local all all    trust
 # IPv4 local connections:
 host all all 127.0.0.1/32  trust
 host all all 0.0.0.1/0 md5
 # IPv6 local connections:
 host all all ::1/128  trust

 

2)、修改postgresql.conf文件,將數(shù)據(jù)庫(kù)服務(wù)器的監(jiān)聽(tīng)模式修改為監(jiān)聽(tīng)所有主機(jī)發(fā)出的連接請(qǐng)求。

定位到#listen_addresses = 'localhost'。PostgreSQL安裝完成后,默認(rèn)只接受來(lái)自本機(jī)localhost的連接請(qǐng)求。

將行開(kāi)頭都#去掉,將行內(nèi)容修改為listen_addresses = '*'來(lái)允許數(shù)據(jù)庫(kù)服務(wù)器監(jiān)聽(tīng)來(lái)自任何主機(jī)的連接請(qǐng)求!

2,修改入站規(guī)則

1),firewall-cmd --zone=public --add-port=5432/tcp --permanent

2),firewall-cmd --reload

3,關(guān)閉防火墻

1systemctl stop firewalld.service

4,重啟docker

1systemctl restart docker.service

5,開(kāi)啟防火墻

1systemctl start firewalld.service

文章來(lái)源:腳本之家

來(lái)源地址:https://www.jb51.net/article/204346.htm

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)文章

熱門排行

信息推薦