83911930 2020-07-28
首先先放出官方的文档教程 :https://fedoraproject.org/wiki/PostgreSQL
我写的内容其实也八九不离十,站在一个普通写CRUD的Demo的爱好者角度写怎么安装配置,减了防火墙的内容,加了改密码,保证看完跟着做能快速用上,不耽误时间
sudo dnf install postgresql-server postgresql-contrib
sudo systemctl enable 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
首先切换到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通过帐号密码访问的配置