记录:328
场景:在CentOS 7.9操作系统上,离线安装PostgreSQL数据库,版本:v13.4。主要是PostgreSQL的编译、安装、启动、登录、设置远程可登录、创建数据库、创建数据库用户等。
版本:
操作系统:CentOS 7.9
数据库:PostgreSQL v13.4
1.主机规划
目标:使用一台主机部署PostgreSQL数据库。
主机app163;IP:192.168.19.163。
2下载安装包
下载地址:https://ftp.postgresql.org/pub/source/
下载命令:
wget https://ftp.postgresql.org/pub/source/v13.4/postgresql-13.4.tar.gz --no-check-certificate
解析:下载完成后,postgresql-13.4.tar.gz包在当前目录;--no-check-certificate,不验证服务端的证书。
3安装基础依赖
安装命令:yum install -y readline-devel zlib-devel zlib gcc
解析:安装基础依赖,避免安装PostgreSQL报错。
查看已安装命令:yum list installed | grep 包名关键字
解析:使用命令查看基础依赖包是否已经安装。
4创建系统普通用户
(1)创建用户
默认超级用户root不能启动PostgreSQL,创建系统普通用户postgres。
创建用户命令:useradd postgres
(2)不设置密码使用root用户切换到postgres
登录postgres命令:su postgres
退出postgresml:exit
(3)查看postgres用户
查看命令:cat /etc/group | grep postgres
5解压PostgreSQL包
postgresql包:postgresql-13.4.tar.gz
解压到指定目录:
tar -xzvf /home/apps/software/postgresql-13.4.tar.gz -C /home/apps/module
6规划安装目录
(1)规划安装目录
规划安装到目录:/home/apps/module/postgresql
创建目录:mkdir -p /home/apps/module/postgresql
(2)检查路径
操作目录:cd /home/apps/module/postgresql-13.4
执行命令:
./configure --prefix=/home/apps/module/postgresql
7编译PostgreSQL
操作目录:cd /home/apps/module/postgresql-13.4
编译命令:make -C /home/apps/module/postgresql-13.4
解析:-C,编译指定目录下内容。
8安装PostgreSQL
操作目录:cd /home/apps/module/postgresql-13.4
安装目标目录:/home/apps/module/postgresql
安装命令:make install PREFIX=/home/apps/module/postgresql
解析:使用PREFIX,把PostgreSQL安装到指定目录。在指定目录下生成:bin、include、lib、share。
9创建PostgreSQL的数据目录
创建命令:mkdir -p /home/data/postgresql/data
解析:data目录存放PostgreSQL的数据。
10修改数据目录和安装目录的用户所有权
PostgreSQL安装目录和数据目录,所有权修改为postgres用户。
安装目录赋权:chown -R postgres:postgres /home/apps/module/postgresql/
数据目录赋权:chown -R postgres:postgres /home/data/postgresql/data/
11设置PostgreSQL环境变量
(1)切换用户和目录
切换到postgres用户下操作。
切换命令:su postgres
切换到目录:cd /home/postgres
查看用户下配置文件清单:ll -a
(2)修改配置
修改配置:vi .bash_profile
修改内容:
PGHOME=/home/apps/module/postgresql
export PGHOME
PGDATA=/home/data/postgresql/data
export PGDATA
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
解析:PGHOME,安装目录;PGDATA,数据目录。
(3)配置生效
配置生效命令:source ./.bash_profile
(4)确认配置生效
查看版本命令:psql -V
打印信息:psql (PostgreSQL) 13.4
查看命令所在目录:which psql
打印信息:/home/apps/module/postgresql/bin/psql
以上,两条命令均可以验证配置已经生效。
(5)设置开机启动配置生效
默认情况下,重启机器后.bash_profile的环境变量会失效,需手动执行source命令刷新配置。设置为开机启动,自动刷新生效。
修改指令:vi /etc/profile
增加内容:source /home/postgres/.bash_profile
12初始化PostgreSQL数据库
初始化命令:initdb
解析:配置了环境变量,因此initdb命令在postgres用户任意命令可以使用。
打印成功信息:
Success. You can now start the database server using:
pg_ctl -D /home/data/postgresql/data -l logfile start
13启动PostgreSQL数据库
(1)启动PostgreSQL
启动命令:pg_ctl -D /home/data/postgresql/data -l logfile start
启动命令(指定日志目录):
pg_ctl -D /home/data/postgresql/data -l /home/data/postgresql/data/postgres.log start
解析:在执行初始化initdb成功后,会提示登录命令。
打印信息:
waiting for server to start.... done
server started
(2)查看PostgreSQL监听端口
命令:netstat -atunlp | grep postgres
解析:PostgreSQL的默认端口是:5432。
14登录PostgreSQL数据库和修改密码
(1)登录PostgreSQL
登录命令:psql
解析:默认登录不需要密码。
(2)修改登录密码
修改命令:\password
口令:demo123456
解析:需输入两次
(3)退出登录
方式一:exit
方式二:\q
解析:两种方式都可以退出登录的数据库。
15设置远程可登录
(1)修改远程可登录
修改文件:vi /home/data/postgresql/data/postgresql.conf
修改内容:
listen_addresses = '*'
解析:把#listen_addresses = 'localhost',修改为匹配所有IP地址。
(2)修改登录需要密码
修改文件:vi /home/data/postgresql/data/pg_hba.conf
修改内容:
local all all password
host all all 127.0.0.1/32 password
host all all 192.168.19.1/32 password
host all all ::1/128 password
解析:192.168.19.1/32,部署PostgreSQL主机是192.168.19.163。
16重启PostgreSQL数据库
(1)重启数据库
重启动命令:
pg_ctl -D /home/data/postgresql/data -l /home/data/postgresql/data/postgres.log restart
解析:把日志打印到数据目录。
打印信息:
waiting for server to shut down.... done
server stopped
waiting for server to start.... done
server started
(2)登录数据库
命令:psql
解析:提示Password for user postgres:,需要输入登录密码。
17创建数据库
(1)创建数据库
命令:create database hzdb;
(2)查看数据库列表
命令:\l
18创建数据库用户
(1)创建数据库用户
命令:create user hangzhou with password 'demo123456';
(2)查看数据库用户
命令:\du
19使用navicat工具登录
登录信息:192.168.19.163:5432
用户名和口令:hangzhou/demo123456
以上,感谢。
2022年11月23日