广告
返回顶部
首页 > 资讯 > 数据库 >生产环境postgresql主从环境配置
  • 605
分享到

生产环境postgresql主从环境配置

2024-04-02 19:04:59 605人浏览 安东尼
摘要

主从服务器IP:192.168.11.131 postgresql master192.168.11.132 postgresql slave服务器系统版本:# cat /etc/redhat-releas

主从服务器IP:

192.168.11.131 postgresql master

192.168.11.132 postgresql slave


服务器系统版本:

# cat /etc/redhat-release 

Red Hat Enterprise linux Server release 7.2 (Maipo)


PG版本:

系统默认9.2 


1、安装软件、配置环境变量

主从服务器:

# yum install postgresql -y

# yum install postgresql-server -y


# mkdir /data/pg_data

# chown postgres:postgres /data/pg_data


# vi /etc/profile

export PGDATA=/data/pg_data


# source /etc/profile


主服务器:

2、初始化数据库、启动数据库服务并设置为开机启动

# initdb -D /data/pg_data


注意:

-D是指定数据存放目录,默认情况下是存放在/var/lib/pgsql/data目录下,但是生产环境通常有单独的数据存放分区。


# su postgres

bash-4.2$ pg_ctl -D /data/pg_data start


bash-4.2$ exit


# vi /etc/rc.d/rc.local

/usr/bin/postgres -D /data/pg_data


3、创建同步用户

# su postgres

bash-4.2$ psql


postgres=# create role repuser login replication encrypted passWord 'password123';


postgres=# \q


注意:

这里创建的用户是repuser,密码是password123,你可以根据需要随意配置。


4、修改配置文件pg_hba.conf、postgresql.conf

bash-4.2$ vi /data/pg_data/pg_hba.conf

host    replication     repuser            192.168.11.0/8             md5

host    all             all             192.168.11.0/8              trust


bash-4.2$ vi /data/pg_data/postgresql.conf

添加下面配置,配置文件有下面配置的要删除(包括前边有警号'#'的)

listen_addresses = '192.168.11.131'

wal_level = hot_standby

max_wal_senders= 6

wal_keep_segments = 10240

max_connections = 512

arcHive_mode = on 

archive_command = 'cp %p /data/pg_data/pg_archive/%f'


bash-4.2$ mkdir /data/pg_data/pg_archive

注意:

这里的配置archive_command需要根据实际配置做出改变。


重新加载使配置生效

bash-4.2$ pg_ctl -D /data/pg_data reload


从服务器:

5、同步数据

bash-4.2$ pg_basebackup -h 192.168.11.131 -U repuser -D /data/pg_data -X stream -P

Password: 

36413/36413 kB (100%), 1/1 tablespace


6、修改配置文件recovery.conf、postgresql.conf

bash-4.2$ cp /usr/share/pgsql/recovery.conf.sample /data/pg_data/recovery.conf


bash-4.2$ vi /data/pg_data/recovery.conf

添加下面配置,配置文件有下面配置的要删除(包括前边有警号'#'的)

standby_mode = on

primary_conninfo = 'host=192.168.11.131 port=5432 user=repuser password=password123 keepalives_idle=60'

recovery_target_timeline = 'latest


注意:

这里的user就是之前创建的同步数据的用户,密码也是响应的密码。


bash-4.2$ vi /data/pg_data/postgresql.conf

添加下面配置,配置文件有下面配置的要删除(包括前边有警号'#'的)

listen_addresses = '192.168.11.132'

wal_level = hot_standby

max_connections = 1000

hot_standby = on

max_standby_streaming_delay = 30s

wal_receiver_status_interval = 10s

hot_standby_feedback = on


bash-4.2$ exit


7、启动服务并设置开机启动

# chmod 700 /data/pg_data


# vi /etc/rc.d/rc.local

su postgres -c '/usr/bin/postgres -D /data/pg_data'


# su postgres


bash-4.2$ pg_ctl -D /data/pg_data start


8、验证

主服务器:

bash-4.2$ psql


postgres=# select client_addr,sync_state from pg_stat_replication;

 client_addr  | sync_state 

--------------+------------

 192.168.11.132 | async


 postgres=# create database test;

CREATE DATABASE


postgres=# \l

                                  List of databases

   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   

-----------+----------+----------+-------------+-------------+-----------------------

 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 

 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          |          |             |             | postgres=CTc/postgres

 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          |          |             |             | postgres=CTc/postgres

 test      | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 

(4 rows)


从服务器:

# su postgres


bash-4.2$ psql


postgres=# \l

                                  List of databases

   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   

-----------+----------+----------+-------------+-------------+-----------------------

 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 

 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          |          |             |             | postgres=CTc/postgres

 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          |          |             |             | postgres=CTc/postgres

 test      | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 

(4 rows)


9、创建数据库、访问用户并给数据库赋权

主服务器

postgres=# create user pGone with password 'password321'; 

CREATE ROLE


postgres=# create database pgdata owner pgone;

CREATE DATABASE


postgres=# grant all privileges on database pgdata to pgone;

GRANT


10、设置本地登录数据库需要输入密码,设置客户端工具登录数据库需要输入密码

10.1、如果有需求的话,可以设置本地登录数据库需要输入密码

主服务器

修改账户登录数据库密码

# su postgres

bash-4.2$ psql

postgres=# alter user postgres with password 'password321';

ALTER ROLE

修改配置文件pg_hba.conf

postgres=# vi /data/pg_data/pg_hba.conf

local   all             all                                     trust

host    all             all             127.0.0.1/32            trust

>>

local   all             all                                     md5

host    all             all             127.0.0.1/32            md5

重新加载配置文件

bash-4.2$ pg_ctl -D /data/pg_data reload

从服务器只需要修改配置文件pg_hba.conf 并使其生效就可以了

10.2、设置远程登录数据库需要输入密码,用于客户端工具连接

主服务器

修改配置文件pg_hba.conf

postgres=# vi /data/pg_data/pg_hba.con

host    all             all             192.168.11.0/24            md5

对于192.168.11.0网段的服务器登录数据库需要输入密码登录

从服务器只需要修改配置文件pg_hba.conf 并使其生效就可以了


参考:

https://www.cnblogs.com/sunshine-long/p/9059695.html


您可能感兴趣的文档:

--结束END--

本文标题: 生产环境postgresql主从环境配置

本文链接: https://www.lsjlt.com/news/44196.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 生产环境postgresql主从环境配置
    主从服务器IP:192.168.11.131 postgreSQL master192.168.11.132 postgreSQL slave服务器系统版本:# cat /etc/redhat-releas...
    99+
    2022-10-18
  • Centos7.5 生产环境搭建MySQL 5.7主从
    环境:服务器两台:192.168.19.77 4核心,16G内存 内网隔离,不通外网192.168.19.78 4核心,16G内存 内网隔离,...
    99+
    2022-10-18
  • postgresql生产环境数据库迁移
    因为现有的pg环境负载过高,需要把现在的数据库迁移到新的环境中如果数据量不大可以使用方法一方法一:pgsql迁移数据库到不同网段新的库,新的数据库环境主从高可用环境已经配置完成。首先备份老的库$ pg_du...
    99+
    2022-10-18
  • redis伪分布主从环境配置
    监控同一个Master的Sentinel会自动连接,组成一个分布式的Sentinel网络,互相通信并交换彼此关于被监视服务器的信息 下图中3个Sentinel监控着S1和它的2个Slave   配置: 承接上篇文章 :...
    99+
    2019-04-21
    redis伪分布主从环境配置
  • 如何安装配置mysql主从环境
    本篇内容主要讲解“如何安装配置mysql主从环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何安装配置mysql主从环境”吧!MySQL支持单向、异步复制,...
    99+
    2022-10-18
  • 生产环境安装配置Prometheus+Grafana(windows版)
    生产环境安装配置Prometheus+Grafana(windows版) 1.介绍 1.1.Prometheus是什么 Prometheus(普罗米修斯)是一个最初在SoundCloud上构建的监控系...
    99+
    2023-09-09
    prometheus grafana windows 服务器 运维开发
  • MySQL生产环境最优的配置实战
    操作系统环境配置(生产环境最优的配置)4.1 hostsecho "192.168.1.51 db1" >>/etc/hostscat /etc/hosts 4.2 配置英...
    99+
    2022-10-18
  • Centos环境下Postgresql 安装配置及环境变量配置技巧
    目录1、yum安装2、从源码安装(推荐)3、配置数据库1、yum安装 进去postgresql官网下载界面 PostgreSQL: Downloads 选择操作系统 选择系...
    99+
    2022-11-12
  • springboot多模块多环境配置文件问题(动态配置生产和开发环境)
    第一种情况: spring.profiles.active=环境变量 配置两个环境的,可根据实际需要增加环境模式(开发环境dev,测试环境test,回归坏境retu,预生产环境pr...
    99+
    2022-11-12
  • 生产环境Linux二进制安装配置MySQL
    生产环境Linux二进制安装配置MySQL 一、环境检查rpm -qa |grep libaio #如果没有安装libaio则需要安装。df -hmount /dev/sr0 /mnt二、安装过程1)上...
    99+
    2022-10-18
  • mongodb分片集群生产环境怎么配置
    要配置MongoDB分片集群的生产环境,您需要执行以下步骤:1. 设计分片策略:确定如何划分数据片段和选择分片键。分片键是用于将数据...
    99+
    2023-08-23
    mongodb
  • redis概述,特点,与Memached的不同,生产环境主从配置,redis配置文件解析
    Redis概述:    是一个基于Key-Value的持久化数据库存储,支持丰富的数据类型,用C语言编写,可基于内存又可持久化的日志型、Key-Value数据库,并提...
    99+
    2022-10-18
  • vue 开发环境和生产环境设置不同的变量
    在 Vue 开发中,我们很常见要在不同的环境下设置不同的变量。例如在 development 环境下,我们可能需要打开一些调试工具,而在 production 环境下,我们则需要关闭这些调试工具来提高应用的性能。这时候,我们就需要在开发环境...
    99+
    2023-05-24
  • 生产环境Linux服务器系统安全配置
    第一章  账户安全及权限 一、  禁用root以外的超级用户 1.  检测方法: cat /etc/passwd  查看口令文件,文件格式如下 login_name:p...
    99+
    2022-06-03
    服务器 Linux
  • CentOS+Nginx+PHP+MySQL标准生产环境如何配置
    本文小编为大家详细介绍“CentOS+Nginx+PHP+MySQL标准生产环境如何配置”,内容详细,步骤清晰,细节处理妥当,希望这篇“CentOS+Nginx+PHP+MySQL标准生产环境如何配置”文章...
    99+
    2022-10-19
  • 生产级K8S基础环境部署配置流程
    生产级K8S基础环境部署: 配置本地hosts文件(有多少台,配置多少台) vim /etc/hosts 192.168.1.5 k8s-master 配置yum源(有自己的yum...
    99+
    2022-11-13
  • Hadoop环境配置之hive环境配置详解
    1、将下载的hive压缩包拉到/opt/software/文件夹下 安装包版本:apache-hive-3.1.2-bin.tar.gz 2、将安装包解压到/opt/module/...
    99+
    2022-11-12
  • MYSQL主从环境搭建
    服务器:192.168.11.131 master192.168.11.132 slave服务器系统# cat /etc/redhat-release CentOS Linux release 7...
    99+
    2022-10-18
  • vue+axios如何给开发环境和生产环境配置不同的接口地址
    这篇文章给大家分享的是有关vue+axios如何给开发环境和生产环境配置不同的接口地址的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。为什么要配置不同的接口地址在开发过程中,前端请...
    99+
    2022-10-19
  • webpack开发环境和生产环境的示例分析
    这篇文章主要为大家展示了“webpack开发环境和生产环境的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“webpack开发环境和生产环境的示例分析”这...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作