主服务器(读写) 192.168.10.88
从服务器(读) 192.168.10.87
PostgreSQL14安装
无特别说明,只需要在主数据库安装PG即可。
安装rpm文件(主从)
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
安装PostgreSQL(主从)
sudo yum install -y postgresql14-server
初始化数
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
设备开机启动(主从)
sudo systemctl enable postgresql-14
启动PostgreSQL服务
sudo systemctl start postgresql-14
设置数据库密码
数据库安装后,默认创建账号postgres
使用postgres账号身份操作
su - postgres
使用postgres账号登录数据库
psql -U postgres
设置密码
psql -U postgres
set password_encryption TO 'md5';
pg14密码规则默认不是md5了 显式设置一下
alter user postgres with password '123456';
退出
\q #退出数据库
exit #退出postgres账号
开启远程访问
对所有IP开放访问,打开postgresql.conf文件
vi /var/lib/pgsql/14/data/postgresql.conf
修改listen_address配置(对所有IP开发访问),设置wal_level,并放开port。
listen_addresses = '*'
wal_level = replica
增加信任连接,打开pg_hba.conf文件
vi /var/lib/pgsql/14/data/pg_hba.conf
增加从数据库连接配置(192.168.10.87为从数据库ip)
# IPv4 local connections:
#增加允许连接的ip
host all all 0.0.0.0/0 md5
# replication privilege.
local replication all peer
host replication repl 192.168.10.87/32 md5
重启服务
systemctl restart postgresql-14
主服务器创建主从同步账号
# 切换用户
su - postgres
# 创建同步账号
create role repl login replication encrypted password 'repl';
从数据库设置同步
# 切换用户
su - postgres
# 和主数据库同步
pg_basebackup -h 192.168.10.88 -p 5432 -U repl -R -F p -P -D /var/lib/pgsql/14/data
# 输入同步账号密码 repl
启动从数据库
systemctl start postgresql-14
此时,主从数据库已经搭建完成,用户名和密码均为 postgres/123456,端口均为5432。