在Fedora中安裝PostgreSQL並配置密碼
首先先放出官方的文檔教程 :https://fedoraproject.org/wiki/PostgreSQL
我寫的內容其實也八九不離十,站在一個普通寫CRUD的Demo的愛好者角度寫怎麼安裝配置,減了防火牆的內容,加了改密碼,保證看完跟着做能快速用上,不耽誤時間
首先是安裝PostgreSQL,我個人覺得沒必要用PostgreSQL官網倉庫安裝版本,Fedora倉庫的版本又新又好使
sudo dnf install postgresql-server postgresql-contrib
第二步配置PostgreSQL自啓
sudo systemctl enable postgresql
第三步啓動PostgreSQL
sudo systemctl start postgresql
第四步進行初始化配置
sudo postgresql-setup --initdb --unit postgresql
這時候數據庫初始化完成,給出數據存放的位置和日誌文件存放的位置
# 提示信息,非輸入內容
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
第五步修改PostgreSQL數據庫的postgres賬戶密碼
首先切換到postgres賬戶
sudo su - postgres
在postgres賬戶下連接本地數據庫服務器
# 使用psql工具可以連接到本地數據庫
psql
# 連接成功會變成這樣postgres=#
接下來就是修改密碼了
ALTER USER postgres WITH PASSWORD '密碼';
提示ALTER ROLE就是成功了,然後就可以使用帳號密碼連接了
第六步更改用戶的驗證方式和配置遠程訪問權限
改完密碼並不是可以直接使用賬戶和密碼登錄了,PostgreSQL默認是通過驗證用戶的方式登錄的,要改成密碼驗證纔行
首先\q
退出psql工具,但是還是要在postgres用戶下,因爲只有postgres用戶纔有權限修改配置文件
/var/lib/pgsql/data/pg_hba.conf
我們要修改這個配置文件,至於你用vim還是nano修改都不重要
打開這個配置文件拉到最後
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 ident
host replication all ::1/128 ident
因爲現在基本都是使用IPv4,所以我們只需要關心IPv4這一行就好
host all all 127.0.0.1/32 md5
將最後的ident更改爲md5,即將PostgreSQl驗證方式由通過用戶驗證更改爲通過帳號密碼驗證
如果要允許其他IP(非localhost)訪問數據庫,可以將中間的IP段配置爲對應的IP範圍
host all all 0.0.0.0/0 md5
# 只是一個允許所有IP通過帳號密碼訪問的配置