提醒:先进入数据库
su postgres #进入默认系统账号 psql #进入数据库
1.主库创建流复制角色
CREATE ROLE app_rep LOGIN replication ENCRYPTED PASSWORD 'passwd@123';
2.主库增加pg_hba.conf授信,在最后增加从库的IP,允许免密访问
vim /var/lib/pgsql/10/data/pg_hba.conf host replication all 从库地址192.168.1.xx/32 trust
3.启动主库数据服务
service postgresql-10 start
4.从库安装好PostgreSQL10,需要initdb,然后执行(子节点>postgres>下面的命令)
su postgres #进入系统初始化用户 rm -rf /var/lib/pgsql/10/data/* #删除初始化的data目录下文件 pg_basebackup -D /var/lib/pgsql/10/data -h 192.168.2.xx -p 5432 -U app_rep -X stream #开始从主服务器上copy数据到本机上,这一步叫做“基础备份”
备注:
-h,主库主机,-p,主库服务端口;
-U,复制用户;
-D,输出到指定目录;
5.创建恢复文件recovery.conf(没有这个文件 直接用vi编辑)
vi /var/lib/pgsql/10/data/recovery.conf recovery_target_timeline = 'latest' standby_mode = on primary_conninfo = 'host=主库地址10.10.10.xx port=5432 user=同步用的用户名 password=密码'
6.修改pg_hba.conf文件,为以后主从切换做准备
vim /var/lib/pgsql/10/data/pg_hba.conf host replication all 主库地址192.168.1.xx/32 trust
7.修改data文件夹下postgresql.conf,从库可以查询
vim /var/lib/pgsql/10/data/postgresql.conf hot_standby = on #在备份的同时允许查询
8.启动从库数据服务
service postgresql-10 start
知识点:
1、查看同步的节点是否生效(在主节点>postgres>psql下面执行)
select client_addr,sync_state from pg_stat_replication;
2、在主机、从机上分别执行
ps aux | grep postgres
主机上可以看到正在向从机发送数据流
---------------------
作者:tony_Peng_
来源:CSDN
原文:https://blog.csdn.net/qq_19402941/article/details/83350222(教程有主从数据库切换//TODO)
相关知识点介绍摘取(写的比较细,就不全部摘过来,有时间的,可以去看看):https://www.cnblogs.com/guoximing/p/9429009.html
文章评论