一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第26天,点击查看活动详情。
Linux部署postgresql和开启远程访问
一、 服务器资源
服务名称:Linux服务器
IP:[请查看资源分配文档]
操作系统:CentOS 7.8 x64
二、postgresql安装
2.1、 postgresql 下载
下载地址:www.postgresql.org/ftp/source/
2.2、将压缩包放到 tools目录下并解压
把postgresql-13.4.tar.gz
上传到/opt/tools
目录下,并解压
# cd /opt/tools
# tar -zxvf postgresql-13.4.tar.gz
复制代码
2.3、解压后进行配置
# cd /opt/tools/postgresql-13.4
# ./configure --prefix=/opt/app/postgresql
复制代码
注:
/opt/app/postgresql/
:安装目录
configure 配置时出错:
执行配置脚本前需安装gcc
、readline-devel
、zlib-devel
(rpm -qa | grep readline查看有无安装)
命令:yum -y install gcc
yum -y install readline-devel
yum install -y zlib-devel
服务器无法联网,可以找一台可以联网的服务器下载gcc
、readline-devel
、zlib-devel
。
yum install --downloadonly --downloaddir=/download readline-devel、
yum install --downloadonly --downloaddir=/download zlib-devel(只下载不安装)
复制代码
2.4、配置后进行编译安装
# cd /opt/tools/postgresql-13.4
# make && make install #(耐心等待)
复制代码
2.5、配置环境变量
# vi /etc/bashrc
复制代码
在文件末尾添加以下内容:
export PATH=$PATH:/opt/app/postgresql/bin
复制代码
使修改马上生效:
# source /etc/bashrc
复制代码
测试psql命令:
# psql --help
复制代码
2.6、初始化数据
创建psql的用户和密码
# useradd postgres
# passwd postgres
复制代码
创建数据目录
# cd /opt/app/postgresql
# mkdir data
复制代码
创建日志目录
# cd /opt/app/postgresql
# mkdir logs
复制代码
设置postgresql
文件夹的所有者和所属组为postgres
# chown -R postgres:postgres /opt/app/postgresql
复制代码
切换到postgres
用户来操作数据库,pgsql
数据库以postgres
为默认用户
# su postgres
复制代码
初始化数据库
先切换postgres用户,进入安装目录(/opt/app/postgresql
),然后进行初始化数据库的命令
# bin/initdb -D /opt/apps/postgresql/data
复制代码
注:
/opt/app/postgresql/data/
:数据目录
2.7、启动postgresql数据库
# bin/pg_ctl -D /opt/apps/postgresql/data -l /opt/apps/postgresql/logs/logfile start
复制代码
注: 这里
-l
指定日志文件位置,这里直接输出到/opt/app/postgresql/logs/logfile
中
登录测试:
# psql
复制代码
以上表示登录成功!!!^_^
修改postgre密码:
# ALTER USER postgres WITH PASSWORD 'dbPassw0rd';
复制代码
2.8、停止postgresql数据库
# bin/pg_ctl -D /opt/app/postgresql/data stop
复制代码
2.9、配置系统服务service
进入postgresql源码包的解压目录****
# cd /opt/tools/postgresql-13.4
复制代码
复制启动脚本到init.d下
# cp contrib/start-scripts/linux /etc/init.d/postgresql
复制代码
修改postgresql
# vi /etc/init.d/postgresql
复制代码
赋予该文件执行权限
# chmod +x /etc/init.d/postgresql
复制代码
设置服务开机自启
# chkconfig --add postgresql
复制代码
启动数据库服务
# service postgresql start
复制代码
这样,咋们就可以用service服务启动
pgsql
了,简单!!!^_^
二、远程访问
默认情况下,pgsql
在linux服务器上面,已经是安装和启动成功了,也能连上。
但是本地window环境下,是无法连接上pgsql
服务器的,这个确实是个大麻烦!!!
下面,咋们就得开启
pgsql
的远程访问了!!!
3.1、修改postgresql.conf
# vi /opt/app/postgresql/data/postgresql.conf
复制代码
注: 取消 listen_addresses 的注释,将参数值改为“
*
”
3.2、修改pg_hba.conf
# vi /opt/app/postgresql/data/pg_hba.conf
复制代码
注: 找到
host all all 127.0.0.1/32 trust
这行,然后在下面添加一行:host all all 0.0.0.0/0 trust
即可
3.2、重启服务
# bin/pg_ctl -D /opt/app/postgresql/data -l /opt/app/postgresql/logs/logfile restart
复制代码
或
# service postgresql restart
复制代码
三、配置防火墙
4.1、开启5432端口
# firewall-cmd --zone=public --add-port=5432/tcp --permanent # 开放5432端口
复制代码
# firewall-cmd --zone=public --remove-port=5432/tcp --permanent #关闭5432端口
复制代码
#配置立即生效
# firewall-cmd --reload
复制代码
#重启防火墙
# service firewalld restart
复制代码
#查看已开放的端口
# firewall-cmd --list-ports
复制代码
好了,以上就是linux部署postgresql
并开启远程访问的全过程了,就是这样了!!!^_^
今天就先到这里了,溜了溜了溜了!!!^_^