在Fedora中安装PostgreSQL并配置密码和开启远程登陆

在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通过帐号密码访问的配置

相关推荐