您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關忘記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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。