您好,登錄后才能下訂單哦!
怎么在PostgreSQL中重置密碼?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
步驟如下:
1、連接數據庫
2、點擊角色
3、選擇角色
4、填入新密碼
5、保存之后,關閉連接,編輯連接就OK了。
1、找到Postgresql安裝目錄下的data,打開文件夾,找到pg_hba.conf
ps:如果大家找不到,那我推薦一個文件搜索神器:Listary,大家可以去試試,賊好用
2.用記事本格式打開,拉到最下面,找到所有md5,全都改為trust
3.重啟數據庫,然后連接數據庫,不輸入密碼,直接點連接,此時連接成功
ps:在windows的控制面板中,找到管理工具,然后找到服務:postgresql,點擊右鍵 ,重啟就行了。
4.修改密碼
在客戶端修改
alter user postgres with password 'YOUR PASSWORD'
5.或者重新打開pgAdmin(即數據庫),連接服務器,不輸入密碼,直接點連接,此時連接成功
6.修改密碼,右鍵登陸角色中要修改密碼的賬戶,打開屬性,點擊定義,輸入密碼,然后確定,此時修改密碼成功。如果重新打開定義會發現密碼欄里依舊空白,但此時密碼已是新密碼。
7,最后將第一二步中的trust改回md5。重新啟動數據庫,輸入密碼,成功連接服務器。
如果是Linux下的話:
1、找到pg_hba.conf路徑
運行
ps 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
注意結果中有一個config_file,而config_file=/etc/postgresql/9.3/main/就是我們配置所在地
2、無密碼postgres登錄
修改pg_hba.confg
#原來是 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服務
sudo service postgresql restart
登錄
psql -h 127.0.0.1 -U postgres
3、登錄修改密碼
修改密碼
alter user postgres with password 'YOUR PASSWORD'
最后將pg_hba修改回去就好啦,也就是將所有的trust還原為md5。
補充:centos 8 docker安裝postgresql修改密碼,遠程訪問設置
1,進入容器
docker exec -it 834f03380346 bash
2,修改密碼
1,修改配置文件
1)、修改pg_hba.conf文件
配置用戶的訪問權限(#開頭的行是注釋內容):
# 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文件,將數據庫服務器的監聽模式修改為監聽所有主機發出的連接請求。
定位到#listen_addresses = 'localhost'。PostgreSQL安裝完成后,默認只接受來自本機localhost的連接請求。
將行開頭都#去掉,將行內容修改為listen_addresses = '*'來允許數據庫服務器監聽來自任何主機的連接請求!
2,修改入站規則
1),firewall-cmd --zone=public --add-port=5432/tcp --permanent
2),firewall-cmd --reload
3,關閉防火墻
systemctl stop firewalld.service
4,重啟docker
systemctl restart docker.service
5,開啟防火墻
systemctl start firewalld.service
關于怎么在PostgreSQL中重置密碼問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。