广告
返回顶部
首页 > 资讯 > 数据库 >postgresql13主从搭建Ubuntu
  • 581
分享到

postgresql13主从搭建Ubuntu

postgresql13 主从搭建postgresql13 主从 2022-11-23 18:11:12 581人浏览 安东尼
摘要

目录数据库安装基本设置设置环境变量主库创建流复制的用户从库设置+从主库进行数据流复制从库进行数据流复制之后,重启从库,主从模式正式工作查看主从运行状态主备切换备->主主->备数据库安装基本设置 先安装完数据

数据库安装基本设置

先安装完数据库以后,安装路径如下:

数据库安装完毕以后,

服务的安装路径为:/usr/lib/postgresql/13/bin/

数据路径为:/var/lib/postgresql/13/main/

配置文件路径为:/etc/postgresql/13/main/

pg_hba.config路径为:/etc/postgresql/13/main/postgresql.conf
# postgres用户密码修改
#修改postgres密码为123456
passwd postgres
#在输入密码的位置输入密码123456
#切换到postgres用户
su - postgres
#修改数据库账号postgres的密码为123456
psql -c "alter user postgres with passWord '123456';"
exit

设置环境变量

vi /etc/profile
在最后增加
export PGDATA=/var/lib/postgresql/13/main/
export PATH=$PATH:$HOME/bin:$PGDATA:/usr/lib/postgresql/13/bin
保存后,使环境变量立即生效
source /etc/profile

postgresql13主从搭建Ubuntu

#设置允许远程连接
#编辑postgresql.conf配置文件
vi /etc/postgresql/13/main/postgresql.conf
#增加允许任何用户连接,新增 listen_addresses = '*'
#设置从库复制槽名称为pgstandby1,设置了复制槽名称以后,复制流将由异步变为同步
synchronous_standby_names = 'pgstandby1'
#保存修改
Esc
:wq

postgresql13主从搭建Ubuntu

postgresql13主从搭建Ubuntu

#修改配置文件pg_hba.conf,设置访问规则
#编辑pg_hba.conf配置文件
vi /etc/postgresql/13/main/pg_hba.conf
#新增 host all all 0.0.0.0/0 md5 访问规则,并修改加密方式为md5(设置允许任何客户端远程连接)
#新增 host    replication     replica         192.168.31.130/32       trust(设置允许replica用户由主库复制到从库,其中ip为从库的ip)
#保存修改
Esc
:wq

postgresql13主从搭建Ubuntu

主库创建流复制的用户

su - postgres
psql -c "CREATE ROLE replica login replication encrypted password 'replica'";
exit;
systemctl restart postgresql

至此,主库设置就完成了,介于将来主库、从库会进行提级和降级操作或者主从互换操作,所以建议对从库也进行相同的主库设置

从库设置+从主库进行数据流复制

pg_basebackup -h 192.168.31.129 -D $PGDATA -U replica -P -X stream -R -C -S pgstandby1

其中: 

-h指向主库的ip,

-D指数据从主库复制到从库的路径

-U指用户名,即从库以replica的用户进行流复制

-P表示显示流复制的过程

-X表示复制方式,stream表示以流的方式进行

-R表示创建一个standby.signal文件,该文件作为一个从库的标识文件,存在此文件,则表示从库

-C指定在启动备份之前应创建由--slot选项命名的复制插槽。如果插槽已存在,则会引发错误。即pgstandby1表示插槽的名称。主库、备库指定插槽名称后,流复制为同步复制,否则为异步复制。

从库进行数据流复制之后,重启从库,主从模式正式工作

systemctl restart postgresql

注:ubuntu上使用仓库安装的postgresql从库启动,必须要使用systemctl重启,无法通过pg_ctl进行。

这时,就可以看到备库服务器上自动生成了standby.signal文件。同时,也看到在$PGDATA路径下,数据库自动帮我们配置了关于流复制的主库的信息:

$ cat $PGDATA/postgresql.auto.conf
# Do not edit this file manually!
# It will be overwritten by the ALTER SYSTEM command.
#primary_conninfo = 'user=replica passfile=''/var/lib/postgresql/.pgpass'' channel_binding=prefer host=192.168.31.129 port=5432 sslmode=prefer sslcompression=0 sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres target_session_attrs=any'
primary_conninfo = 'user=replica host=192.168.31.129 port=5432 application_name=pgstandby1'
primary_slot_name = 'pgstandby1'

查看主从运行状态

主从搭建后,主库运行状态为: ps -ef|grep postgres

postgresql13主从搭建Ubuntu

可以看到有一个walsender在向从库发送

从库运行状态为:

postgresql13主从搭建Ubuntu

可以看到有一个walreceiver在接收数据,startup recovering 000000030000000000000030也是从库的标识

通过SQL语句查看主从信息:

select * from pg_stat_replication;
select application_name, client_addr, sync_state from pg_stat_replication;
//查询复制插槽名称
SELECT * FROM pg_replication_slots
//下面这句话是删除pgstandby1复制插槽的语句
select pg_drop_replication_slot('pgstandby1');

主备切换

备->主

#在备库下执行命令
pg_ctl promote

主->备

# 在数据库的数据路径下$PGDATA,新增一个standby.signal文件
touch standby.signal
同时,也看到在$PGDATA路径下,编辑postgresql.auto.conf的主库的信息:
$ vi $PGDATA/postgresql.auto.conf
# Do not edit this file manually!
# It will be overwritten by the ALTER SYSTEM command.
primary_conninfo = 'user=replica host=192.168.31.130 port=5432 application_name=pgstandby1'
primary_slot_name = 'pgstandby1'
wq
#重启新备库启动
systemctl restart postgresql

以上就是postgresql13主从搭建Ubuntu的详细内容,更多关于postgresql13 主从搭建的资料请关注我们其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: postgresql13主从搭建Ubuntu

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

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

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

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

下载Word文档
猜你喜欢
  • postgresql13主从搭建Ubuntu
    目录数据库安装基本设置设置环境变量主库创建流复制的用户从库设置+从主库进行数据流复制从库进行数据流复制之后,重启从库,主从模式正式工作查看主从运行状态主备切换备->主主->备数据库安装基本设置 先安装完数据...
    99+
    2022-11-23
    postgresql13 主从搭建 postgresql13 主从
  • 主从搭建
    1.创建主从 1.1 前提条件主从MySQL都开启binlog,并且保证server-id唯一[mysqld]log-bin=mysql-binserver-id=10086 After making th...
    99+
    2022-10-18
  • Mysql 主从搭建
                             Mysql  主...
    99+
    2022-10-18
  • Xtrabackup搭建主从
    利用innobackupex搭建MySQL从库知识准备:1、在备份InnoDB的过程中,记录的变更保存于xtrabackup_logfile文件,所以在prepare(–apply-log)的时候,需要重放...
    99+
    2022-10-18
  • MYSQL5.6.40源码安装 主从搭建 主主搭建
    前言: 前面那篇5.6.38主从搭建的文章属于测试系统里面弄着玩的,以下这篇文章写的是在公司生产库上搭建的MYSQL主从。 在上系统前,纠结了很久,到底使用哪种数据库(PG?HBASE?MONGODB...
    99+
    2022-10-18
  • mysql5.7搭建主从库
    #MYSQL单节点的mysql远远不能满于生成,以防止生产服务器宕机,磁盘空间溢满等种种原因,需要有一个备用数据库, 这时候主从库是不错的选择,在是数据库集群中也起到了很大的作用 #MySQL 主从复制概念: MySQL 主从复制是指数据可...
    99+
    2015-09-14
    mysql5.7搭建主从库
  • mysql搭建主从复制(一主一从,双主双从)
    主从复制原理 Mysql 中有一个binlog 二进制日志,这个日志会记录下所有修改了的SQL 语句,从服务器把主服务器上的binlog二进制日志在指定的位置开始复制主服务器所进行修改的语句到从服务器上执行一遍。 流程图 搭建一...
    99+
    2016-07-17
    mysql搭建主从复制(一主一从,双主双从)
  • Mysql主从数据库搭建(一主两从)
    目录 1、服务器规划 2、主从同步流程 3、主从搭建 3.1、master节点上配置文件修改 3.2、master节点创建同步用户和权限 3.3、slave1和slave2节点配置文件修改 3.4、slave1和slave2节点执行同步任...
    99+
    2023-08-31
    数据库 mysql 服务器
  • Mysql主从复制搭建
    1.mysql主库会把所有的写操作记录在binlog日志中,并且生成log dump线程,将binlog日志传给从库的I/O线程,从库生成两个线程,一个是I/O线程,另外一个是SQL线程。 主将更改操作记录到binlog里从将主的binlo...
    99+
    2020-09-28
    Mysql主从复制搭建
  • MYSQL主从环境搭建
    服务器:192.168.11.131 master192.168.11.132 slave服务器系统# cat /etc/redhat-release CentOS Linux release 7...
    99+
    2022-10-18
  • mysql主从搭建切换
    环境: 172.30.249.156 percona5.6.27 主机名:tr-mysql 跑着生产环境的应用的虚拟机 192.168.129.153 percona5...
    99+
    2022-10-18
  • MYSQL怎么搭建主从
    本篇内容主要讲解“MYSQL怎么搭建主从”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MYSQL怎么搭建主从”吧!1,在虚拟机上新建三个虚拟机,分别是vm4 &...
    99+
    2022-10-18
  • MySQL(多主一从)搭建
    拓扑图:实验环境:(三台虚拟机)server1(master1-178)、server2(master2-179)、server3(slave-175)Master1:(178)安装软件yum instal...
    99+
    2022-10-18
  • mysql主主和主从的搭建方法
    这篇文章主要介绍“mysql主主和主从的搭建方法”,在日常操作中,相信很多人在mysql主主和主从的搭建方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql主主和主从...
    99+
    2022-10-18
  • Docker搭建Mysql主从复制
    Docker搭建Mysql主从复制 前言 相信我,看完这一篇,mysql主从复制能遇到的错误在我这里都遇到了,docker能遇到的错误在我这里也遇到了,包括centos的错误,看吧,都是成长 do...
    99+
    2023-09-24
    docker mysql 容器 Linux
  • MySQL主从搭建与配置
    MySQL主从(MySQL replication),主要用于MySQL的实时备份或者读写分离。在配置之前先做一下准备工作,配置两台MySQL服务器,如果你的机器不能同时跑两台Linux虚拟机,那么可以考虑...
    99+
    2022-10-18
  • linux搭建mysql主从服务
    网上找了N多资料,没有一个可以顺利成功的,郁闷,可能是水平有限吧...!本人经过不断的研究、测试,完整实现linux下启动两台Mysql,而且对mysql有了更深入的了解...废话不多说,走着! ...
    99+
    2022-10-18
  • MySQL基于GTID主从搭建
    目录一、用xtarbackup备份数据库1.1 优势1.2 安装1.3 使用1.3.1 普通备份1.3.2 tar备份1.3.3 xbstream备份1.3.4 恢复二、基于GTID做数据同步2.1 GTID的概念2.2...
    99+
    2022-08-26
  • 基于GTID 的主从搭建
    备注:此处搭建的为一主多从。环境:centos7+MySQL5.7主:192.168.162.134从1:192.168.162.133从2:192.168.162.135安装参照:http://liyin...
    99+
    2022-10-18
  • centos7 maiadb主从复制搭建
    需求:由于要使用saltstack,部署环境,先手动搭建了下主从环境,发现原来的word资料都找不到了,所以这次赶紧的记录到博客当中!!环境:两台设备,ip地址分别为:node1:192.168.56.11...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作