PostgreSQL使用pg_basebackup搭建主備流複製環境
今天用pg_basebackup搭建了主備流複製環境,操作流程很簡單,可線上操作,相當方便。
環境均為CentOS6.6 + postgresql9.4,我用已安裝的庫做測試,埠不一致,不影響環境搭建,但要注意某些相關配置:
主:192.168.3.201 port:5431
備:192.168.3.202 port:5432
資料庫安裝過程省略。可參考
http://blog.csdn.net/baiyinqiqi/article/details/45560229
主庫引數配置postgresql.conf:
wal_level = hot_standby
checkpoint_segments = 16
checkpoint_timeout = 5min
archive_mode = on
max_wal_senders = 3
wal_keep_segments = 16
主庫建立具有replication許可權的使用者:
create user rep replication login encrypted password 'udbac';
主庫修改認證配置檔案,新增rep的replication認證資訊:
host replicationrep 192.168.3.202/32md5
主庫過載資料庫配置資訊:pg_ctl reload
從庫只安裝資料庫軟體,不進行資料庫初始化。
根據主庫相關路徑配置,建立日誌目錄,表空間目錄。
比如主庫的表空間如下:
在從庫中建立相同的目錄,並授權給postgres使用者:
[[email protected]_202 postgres]# mkdir -p /pg_tablespace/pg_5431/ts_bigtable
[[email protected]_202 postgres]# chown -R postgres.postgres /pg_tablespace
[[email protected]_202 postgres]# chown -R postgres.postgres /pg_tablespace/pg_5431
[[email protected]_202 postgres]# chown -R postgres.postgres /pg_tablespace/pg_5431/ts_bigtable
[
[[email protected]_202 postgres]# chown -R postgres.postgres /pg_tablespace/pg_5431/ts_udbac
[[email protected]_202 postgres]# chmod 0700 /pg_tablespace
[[email protected]_202 postgres]# chmod 0700 /pg_tablespace/pg_5431
[[email protected]_202 postgres]# chmod 0700 /pg_tablespace/pg_5431/ts_bigtable
[[email protected]_202 postgres]# chmod 0700 /pg_tablespace/pg_5431/ts_udbac
當然$PGDATA目錄同樣不可少。
配置從庫無密碼訪問主庫的密碼檔案:
在postgres使用者home目錄下建立.pgpass檔案,新增如下內容:
192.168.3.201:5431:replication:rep:udbac
.pgpass檔案許可權為0600:chmod 0600 .pgpass
測試無密碼是否可連線主庫:
psql -h 192.168.3.201 -p 5431 -U rep -d postgres
使用pg_basebackup進行資料庫備份恢復:
pg_basebackup -D $PGDATA -F p -X stream -v -P -h 192.168.3.201 -p 5431 -U rep
檢視資料檔案恢復情況:
表空間恢復情況:
配置備庫引數postgresql.conf:
hot_standby=on
注意:我這裡主備庫所用埠不一樣,需要詳細修改配置檔案,比如port,有些目錄是以埠命名的也需要修改。第一次做就碰到找不到log日誌的情況,因為我的安裝目錄帶有埠號,所以找不到。一般情況下,儘量使用一樣的埠。
配置備庫recovery.conf配置檔案:
cp $PGHOME/share/recovery.conf.sample $PGDATA/recovery.conf
vi $PGDATA/recovery.conf
修改下列引數:
standby_mode = on
primary_conninfo = 'host=192.168.3.201 port=5431 user=rep'
trigger_file = '/usr/local/postgresql/9.4.1/pg5432/data/postgresql.trigger.5431'
啟動備庫,檢視服務程序,請注意有一個wal receiver progress程序,這個是接收wal日誌的程序:
同樣主庫也多了一個wal sender process程序,用於日誌傳送。
測試:
在主庫中新建一張表tbl6,並插入一些資料:
在從庫中進行查詢,從庫可查詢,但不可更新資料:
參考文章:
http://francs3.blog.163.com/blog/static/4057672720136210240967/
相關推薦
PostgreSQL使用pg_basebackup搭建主備流複製環境
今天用pg_basebackup搭建了主備流複製環境,操作流程很簡單,可線上操作,相當方便。 環境均為CentOS6.6 + postgresql9.4,我用已安裝的庫做測試,埠不一致,不影響環境搭建,但要注意某些相關配置: 主:192.168.3.201 port:543
PostgreSQL 9.4 流複製環境搭建
此方法並不完全屬於熱備,因為主機宕掉備機無法自動替換,備機只是起到資料自動備份的功能,如果想實現自動備份需要使用pgpool 環境介紹 IP 角色 192.169.77.211 主 192.169.77.215 備 首先、務必保證兩臺都安裝有相同版本的Postgre
【MySQL】MySQL一主二從複製環境切換主從庫
mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send ev
lvs+keepalived+nginx 搭建主備
上一篇講了nginx+tomcat搭建了反向代理和負載均衡 那麼如果nginx掛掉了 即使兩個tomcat都沒有掛也是無法訪問的 所以這個時候需要一個主備管理 如果主nginx掛了立即由備用nginx來接管 那麼我們需要現搭建一個備用的nginx配置方式和主nginx完全
MySQL高可用(三)搭建主備同步實戰
### 目標 掌握如何搭建一主一備的主備架構 ### 實驗環境 - 系統:Ubuntu 18.04.1 LTS - MySQL版本:5.7.32 - 主庫IP:192.168.200.120 - 備庫IP:192.168.200.121 ### 操作步驟 #### 1.分別在兩臺伺服器上安裝MySQ
Linux下PostgreSQL主備環境搭建和切換
1. 概念 資料庫熱備:資料庫熱備是指為主資料庫的建立、維護和監控一個或多個備用資料庫,它們時刻處於開機狀態,同主機保持同步。當主機失靈時,可以隨時啟用熱備資料庫來代替,以保護資料不受故障、災難、錯誤和崩潰的影響。 流複製(streaming replication):PostgreSQL提
mysql+mycat搭建穩定高可用叢集,負載均衡,主備複製,讀寫分離
資料庫效能優化普遍採用叢集方式,oracle叢集軟硬體投入昂貴,今天花了一天時間搭建基於mysql的叢集環境。 主要思路 簡單說,實現mysql主備複製-->利用mycat實現負載均衡。 比較了常用的讀寫分離方式,推薦mycat,社群活躍,效能穩定。 測試環境 MYSQL版
Redis叢集主從複製(一主兩從)搭建配置教程【Windows環境】
由於本地環境的使用,所以搭建一個本地的Redis叢集,本篇講解Redis主從複製叢集的搭建,使用的平臺是Windows,搭建的思路和Linux上基本一致! (精讀閱讀本篇可能花費您15分鐘,略讀需5分鐘左右) Redis主從複製簡單介紹 為了使得叢集在一部分節點下線或
PostgreSQL 流複製的主備切換
文章目錄 概述 如何判斷主備角色 檔案觸發方式切換 pg_ctl promote方式切換 pg_rewind命令 概述 流複製的主庫和備庫的角色不是靜態存在的,在維護過程中可以對二者進行角色切換。例
mysql主備環境搭建
#主機配置: service mysqld stop #配置my.cnf: vim /etc/my.cnf log-bin=mysql-bin-master #啟用二進位制日誌 server-id = 1 #本機資料庫ID 標示 binlog-do-db=sdg
postgresql 9.5 (主備庫)流複製簡單配置
本人是用了兩臺虛擬機器搭建主備流複製環境,操作流程很簡單: 虛擬機器 的 IP和 埠 主庫: 192.168.1.189 5432 使用者:postgres 備庫: 192.168.1.200 5432 使用者:postgres 虛擬機器必須先安
postgres HA 主備環境搭建
1. postgres 主備環境搭建 1.1 HA 實現方式 熱備份、冷備份 冷備份:物理備份,也就是檔案複製。主機寫完一個WAL日誌檔案後,才複製到standby伺服器上去應用。 熱備份:流複製,也就是同步複製或非同步複製。主備機實時同步
mysql主備複製搭建
這裡我使用單臺伺服器上的兩個mysql例項進行搭建,主要用到了mysql自帶的mysqld_multi 一、複製原理 開始搭建前有個mysql複製原理的基礎知識需要補充: mysql進行主備複製使用到了三個執行緒: 1.主庫上的轉儲存執行緒: 會將mysql se
postgresql雙機熱備(流複製)及主備切換
一、環境 系統:redhat6.5 64位 ip:192.168.11.68(主) 192.168.11.70(備) 資料庫版本:postgresql9.4.4 二、雙機熱備的過程 兩臺系統之中安裝
mysql+mycat搭建穩定高可用集群,負載均衡,主備復制,讀寫分離
root用戶 架構 .bat 出現 內存 ace 權威指南 上層 復制 主要思路 測試環境 實現mysql主備復制 配置A主mysql 配置B備mysql 驗證同步配置結果 驗證是否同步 關閉B備mysql的同步,驗證讀寫分離
MongoDB副本(一主一備+仲裁)環境部署記錄
mar rim con 讀寫 就會 應用 color ring 部署過程 MongoDB復制集是一個帶有故障轉移的主從集群。是從現有的主從模式演變而來,增加了自動故障轉移和節點成員自動恢復。MongoDB復制集模式中沒有固定的主結點,在啟動後,多個服務節點間將自動選舉產
keepalive基礎知識及主備模型搭建
其中 devel ring ice inux 文件中 實現 unit emd lvs模型屬於單點故障,對real server的健康狀態檢查可以通過寫腳本實現,keepalived可以實現高可用:keepalive:vrrp協議在Linux主機上以守護進程方式的實現; 能夠
圖文:Linux-DNS主備服務器搭建(高可用)
重啟 slave 配置文件 服務器 image http img -a 建立 DNS主服務器(master):192.168.127.147從服務器(slave):192.168.127.1481、首先在master和slave上安裝DNS包: 2、編輯master上的D
Linux實戰第九篇:基於Centos6.9+7.4主備DNS服務器搭建實戰
服務器搭建 word uda notes centos6 fcc bfc data 閱讀 個人筆記分享(在線閱讀): http://note.youdao.com/noteshare?id=7898fa39596740bfcc9ca42ad643f045&sub=28A00
centos7 搭建雙網卡bond1(主備模式)實例
sum 模式 address ethernet mas link back 14. ip配置 前景須知: 在redhat6 中網卡叫bond,在redhat7及centos7中改名team,此處只記錄centos7中雙網卡主備搭建過程。 應用情景:實現網絡的高可用,防止一條