客户给的服务器是内部云主机,通过vpn,再通过堡垒机访问,操作系统是centos8,登录就是root账号,没给密码。系统需要使用postgres 10,安装过程记录如下:
1、上postgres官网找安装脚本
https://www.postgresql.org/download/linux/redhat/ 选择好数据库版本和系统版本后,出现安装脚本:
2、以上脚本按顺序执行,正常的话,很快完成,不正常的话,根据错误百度原因,我一开始碰上的是yum不能安装的原因,根据百度出的修改后又提示没有postgresql10-server 这个东西,后来在上边地址换了操作系统版本后,使用上边的脚本安装成功,不用yum,用dnf,对操作系统不熟悉,不懂为什么,能装完就成。
3、postgres默认端口5432,但内部防火墙没开这个,提供的已开放端口中有个3499应该不会被其他应用使用,就改成这个。
需要修改配置文件,在操作系统中直接改很麻烦,vim着实难用的很,用ftp下载到本机,用文本文档打开改也比vim方便的多,改完了再传上去覆盖。
默认安装好的地址是:/var/lib/pgsql/10/data/postgresql.conf
查找 port ,改成 3499。
4、修改初始化密码,默认安装没有密码,需要设置一下,也是先修改配置文件,地址:/var/lib/pgsql/10/data/pg_hba.conf,将local 那行最后为trust,意思是操作系统内登录就不要密码了。重启系统(用pg_ctl可以重启数据库,但是系统中没有建立postgres用户,root用户跑不了这个命令,就reboot重启系统了)。
运行: sudo -u postgres psql -p 3499 到psql操作符#:
ALTER USER postgres PASSWORD ‘XXXXXX’;
注意单引号和分号
然后 输入 \q 退回系统,
pg_hba.conf 中 local 行 改为 md5 ,再reboot重启系统,就可以了。
5、外部连接:也是修改pg_hba.conf文件,新增一行:host all all 0.0.0.0/0 md5
这样,在外部就可以用密码来登录数据库。