PostgresSQL10 主从复制配置
安装步骤(yum安装):
$ yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y $ yum install postgresql10 -y $ yum install postgresql10-server -y
常用命令
重启:systemctl restart postgresql-10 查看状态:systemctl status postgresql-10 启动:systemctl start postgresql-10 停止:systemctl stop postgresql-10
一、主服务器配置
1、创建数据目录、归档目录
$ mkdir -p /home/postgresql/data/ $ chown -R postgres:postgres /home/postgresql/data/ #修改data目录的用户及组为postgres $ chmod 700 -R /home/postgresql/data #修改data目录的权限为700 (读:4,写:2,执行:1,-表示0,-R表示级联)
2、修改数据存储路径
$ vim /usr/lib/systemd/system/postgresql-10.service Environment=PGDATA=/home/postgresql/data/ #找到Environment=PGDATA, 修改
3、初始化数据库
$ /usr/pgsql-10/bin/postgresql-10-setup initdb
4、配置数据库
$ vim /home/postgresql/data/postgresql.conf data_directory = ‘/home/postgresql/data‘ listen_addresses = ‘*‘ port = 9999 #端口号(请修改) max_connections = 100 unix_socket_directories = ‘/var/run/postgresql, /tmp, /home/postgresql/data‘ wal_level = replica archive_mode = on archive_command = ‘cp %p /home/postgresql/data/pg_archive/%f‘ max_wal_senders = 16 wal_keep_segments = 256 wal_sender_timeout = 60s $ mkdir -p /home/postgresql/data/pg_archive/ $ chown -R postgres:postgres /home/postgresql/data/ #修改data目录的用户及组为postgres $ vim /home/postgresql/data/pg_hba.conf # 在末尾添加从服务器信息 host all all 0.0.0.0/0 md5 host replication 主从复制角色 从服务器IP/24 md5
5、配置全局配置
$ vim /etc/profile export PGDATA=/home/postgresql/data # 数据库的数据目录 export PGPORT=9999 # 数据库端口 $ source /etc/profile
6、开机自启
$ systemctl enable postgresql-10 $ systemctl start postgresql-10
7、创建主从同步replica用户
$ su - postgres $ psql postgres=# CREATE ROLE 主从复制角色 login replication encrypted password ‘主从复制密码‘; $ \q #退出 $ psql -U postgres #设置local all all md5 #trust 可以直接登录 alter user postgres with password ‘postgres用户的远程密码‘;
8、若有任何修改,最好重启数据库
systemctl restart postgresql-10
二、从服务器配置
1、创建数据目录、归档目录 (先安装PostgreSQL)
$ mkdir -p /home/postgresql/data/ $ chown -R postgres:postgres /home/postgresql/data/ #修改data目录的用户及组为postgres $ chmod 700 -R /home/postgresql/data #修改data目录的权限为700 (读:4,写:2,执行:1,-表示0,-R表示级联)
2、修改数据存储路径
$ vim /usr/lib/systemd/system/postgresql-10.service Environment=PGDATA=/home/postgresql/data/ #找到Environment=PGDATA, 修改
3、 初始化数据库
$ /usr/pgsql-10/bin/postgresql-10-setup initdb $ cd /home/postgresql/data/ #先进入/home/postgresql/data/在删除data下的所有文件 $ rm -rf * $ su - postgres $ pg_basebackup -h 主服务器IP -U 主从复制角色 -D /home/postgresql/data -X stream -P -p 主服务器端口 Password: replica (等待同步) $ cp /usr/pgsql-10/share/recovery.conf.sample /home/postgresql/data/recovery.conf $ exit
4、修改相关配置文件(recovery.conf和postgresql.conf)
$ vim /home/postgresql/data/recovery.conf standby_mode = on primary_conninfo = ‘user=主服务器用户名 password=主服务器密码 host=主服务器IP port=主服务器端口‘ #trigger_file = ‘/var/lib/pgsql/9.6/data/trigger.kenyon‘ #主从切换时后的触发文件 (没有配置,使用默认, 暂时未启用) recovery_target_timeline = ‘latest‘ $ vim /home/postgresql/data/postgresql.conf max_connections = 300 (master的最大连接数要小于slaver,一定要改大) hot_standby_feedback = on #如果有错误的数据复制,是否向主进行范例 port = 999 #端口号(一般不需要改) hot_standby = on #说明这台机器不仅仅用于数据归档,也用于查询 (默认值一般不需要改) max_standby_streaming_delay = 30s (默认值一般不需要改) wal_receiver_status_interval = 10s #多久向主报告一次从的状态 (默认值一般不需要改)
5、配置全局配置
$ vim /etc/profile export PGDATA=/home/postgresql/data # 数据库的数据目录 export PGPORT=9999 # 数据库端口 $ source /etc/profile
6、开机自启
$ systemctl enable postgresql-10 $ systemctl start postgresql-10
测试主从是否可用(主服务器创建一个库看从服务器是否有)
$ su - postgres $ psql $ select client_addr,sync_state from pg_stat_replication; #在主服务器查看同步记录是否存在
修改远程登录密码(创建用户就不在这写了,使用postgres登录测试下)
$ su - postgres $ psql -U postgres alter user postgres with password ‘密码‘;
相关推荐
WanKaShing 2020-11-12
zhbvictor 2020-10-29
kls00 2020-10-15
89921334 2020-07-29
83911930 2020-07-28
89407707 2020-06-27
89921334 2020-06-26
89244553 2020-06-21
84593973 2020-06-21
83911930 2020-06-16
yaoding 2020-06-14
89244553 2020-06-11
89407707 2020-06-11
89921334 2020-06-10
89407707 2020-06-10
goodriver 2020-06-09
kevinli 2020-06-06
84593973 2020-06-05