Postgresql數(shù)據(jù)庫(kù)主從備份教程-創(chuàng)新互聯(lián)

數(shù)據(jù)庫(kù)主從熱備

數(shù)據(jù)庫(kù)安裝

1.安裝yum源
打開(kāi)https://yum.postgresql.org/repopackages.php ,找到自己需要的版本,右鍵復(fù)制鏈接地址。
Postgresql數(shù)據(jù)庫(kù)主從備份教程

創(chuàng)新互聯(lián)公司服務(wù)熱線:13518219792,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)頁(yè)制作領(lǐng)域十年,包括邊坡防護(hù)網(wǎng)等多個(gè)領(lǐng)域擁有豐富的網(wǎng)站運(yùn)維經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)公司,為企業(yè)錦上添花。

不放心是否復(fù)制成功的話(huà)可以粘貼出來(lái)看看。

以root模式進(jìn)入CentOS7,輸入:yum install + 剛剛復(fù)制的鏈接
回車(chē)。

Postgresql數(shù)據(jù)庫(kù)主從備份教程

輸入:y,回車(chē)。

Postgresql數(shù)據(jù)庫(kù)主從備份教程

2.安裝PostgreSQL
輸入:yum install -y postgresql94-server postgresql94-contrib
回車(chē)。(如果使用其他版本的PostgreSQL則需要把其中的兩個(gè)94換成對(duì)應(yīng)的數(shù)字)
輸入y,回車(chē)。

Postgresql數(shù)據(jù)庫(kù)主從備份教程

輸入:/usr/pgsql-9.4/bin/postgresql94-setup initdb
回車(chē),初始化數(shù)據(jù)庫(kù)。(如果使用其他版本的PostgreSQL則需要把其中的9.4和94換成對(duì)應(yīng)的數(shù)字)

Postgresql數(shù)據(jù)庫(kù)主從備份教程

(如果未安裝firewalld防火墻可跳過(guò)下面兩步)
輸入:firewall-cmd --add-service=postgresql --permanent
回車(chē),開(kāi)放防火墻。
輸入:firewall-cmd –reload
回車(chē),重啟防火墻。

  1. 修改默認(rèn)PostgreSQL用戶(hù)密碼
    PostgreSQL安裝后會(huì)創(chuàng)建一個(gè)用戶(hù),名為postgres。
    輸入:su – postgres
    回車(chē),切換至用戶(hù)。
    輸入:psql -U postgres
    回車(chē),登錄數(shù)據(jù)庫(kù)。
    輸入:ALTER USER postgres with encrypted password ‘a(chǎn)bc123’;
    (不要漏了“;”)回車(chē),設(shè)置默認(rèn)用戶(hù)postgre的密碼,此處密碼為abc123,可自行修改。
    輸入:\q
    回車(chē), 退出數(shù)據(jù)庫(kù)。
    輸入:exit
    回車(chē),退出用戶(hù)。

Postgresql數(shù)據(jù)庫(kù)主從備份教程

4.配置遠(yuǎn)程訪問(wèn)
輸入:vi /var/lib/pgsql/9.4/data/postgresql.conf
回車(chē),進(jìn)入文檔內(nèi)容。(如果使用其他版本的PostgreSQL則需要把其中的9.4換成對(duì)應(yīng)的版本)
光標(biāo)下翻,找到listen_addresses。

Postgresql數(shù)據(jù)庫(kù)主從備份教程

按 i 鍵進(jìn)入“插入編輯模式”,去掉“l(fā)isten_address”前面的 #,使該配置參數(shù)起效
如果想對(duì)所有IP開(kāi)放,則將 localhost 改為 * 即可
如果想僅對(duì)部分IP開(kāi)放,多個(gè)IP之間用 , (逗號(hào)+空格)隔開(kāi)。

Postgresql數(shù)據(jù)庫(kù)主從備份教程

編輯完成后,按Esc鍵,輸入::wq
回車(chē),“保存退出”文檔。
輸入:vi /var/lib/pgsql/9.4/data/pg_hba.conf
回車(chē),進(jìn)入文檔內(nèi)容。(如果使用其他版本的PostgreSQL則需要把其中的9.4換成對(duì)應(yīng)的版本)
將光標(biāo)移至底部。

Postgresql數(shù)據(jù)庫(kù)主從備份教程

按 i 鍵進(jìn)入“插入編輯模式”,在IPv4 local connections下方添加允許連接的IP。
如果想允許所有IPv4地址,則加入一行:host all all 0.0.0.0/0 md5
IPv6方法類(lèi)似。

Postgresql數(shù)據(jù)庫(kù)主從備份教程

編輯完成后,按Esc鍵,輸入::wq
回車(chē),“保存退出”文檔。
輸入:systemctl restart postgresql-9.4.service
回車(chē),重啟postgressql服務(wù)。(如果使用其他版本的PostgreSQL則需要把其中的9.4換成對(duì)應(yīng)的版本)

此時(shí)postgreSQL數(shù)據(jù)庫(kù)安裝成功,用可視化工具連接一下吧。

Postgresql數(shù)據(jù)庫(kù)主從備份教程

PostgreSQL主從流復(fù)制部署

172.16.125.201 部署主服務(wù)器
172.16.125.200 部署從服務(wù)器
主服務(wù)器配置

1。首先需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù)用戶(hù)進(jìn)行主從同步。創(chuàng)建用戶(hù)replica,并賦予登錄和復(fù)制的權(quán)限。
輸入:su – postgres
回車(chē),切換至用戶(hù)。
輸入:psql -U postgres
回車(chē),登錄數(shù)據(jù)庫(kù)。
輸入:CREATE ROLE replica login replication encrypted password ‘replica’;

2.修改pg_hba.conf,允許replica用戶(hù)來(lái)同步。
輸入:vi /var/lib/pgsql/9.4/data/pg_hba.conf
回車(chē),進(jìn)入文檔內(nèi)容。
按 i 鍵進(jìn)入“插入編輯模式”,在IPv4 local connections下方增加兩行配置。

允許200連接到主服務(wù)器:
host all all 172.16.125.200/32 trust
允許200使用replica用戶(hù)來(lái)復(fù)制:
host replication replica 172.16.125.200/32 md5
如果不明白,技術(shù)文檔支持

Postgresql數(shù)據(jù)庫(kù)主從備份教程

編輯完成后,按Esc鍵,輸入::wq
回車(chē),“保存退出”文檔。

3.修改postgresql.conf
輸入:vi /var/lib/pgsql/9.4/data/postgresql.conf
回車(chē),進(jìn)入文檔內(nèi)容。
按 i 鍵進(jìn)入“插入編輯模式”,修改以下配置。
監(jiān)聽(tīng)所有IP:
listen_addresses = ‘*’
允許歸檔:
archive_mode = on
用該命令來(lái)歸檔logfile segment:
archive_command = ‘cp %p /opt/pgsql/pg_archive/%f’
wal_level = hot_standby
這個(gè)設(shè)置了可以最多有幾個(gè)流復(fù)制連接,差不多有幾個(gè)從,就設(shè)置幾個(gè):
max_wal_senders = 2
設(shè)置流復(fù)制保留的最多的xlog數(shù)目:
wal_keep_segments = 256
設(shè)置流復(fù)制主機(jī)發(fā)送數(shù)據(jù)的超時(shí)時(shí)間:
wal_sender_timeout = 60s
這個(gè)設(shè)置要注意下,從庫(kù)的max_connections必須要大于主庫(kù)的:
max_connections = 100

Postgresql數(shù)據(jù)庫(kù)主從備份教程

編輯完成后,按Esc鍵,輸入::wq
回車(chē),“保存退出”文檔。
輸入:systemctl restart postgresql-9.4.service
回車(chē),重啟postgressql服務(wù)。

4.測(cè)試201能否連接200數(shù)據(jù)庫(kù)。在201上運(yùn)行如下命令:
輸入:psql -h 172.16.125.200 -U postgres
回車(chē),然后輸入200數(shù)據(jù)庫(kù)的密碼
回車(chē),連接上200數(shù)據(jù)庫(kù)

Postgresql數(shù)據(jù)庫(kù)主從備份教程

從服務(wù)器配置

1.從主節(jié)點(diǎn)拷貝數(shù)據(jù)到從節(jié)點(diǎn)
輸入:su - postgres
回車(chē),切換至用戶(hù)
輸入:rm -rf /var/lib/pgsql/9.4/data/*
回車(chē),將data目錄下的數(shù)據(jù)都清空
輸入:pg_basebackup -h 172.16.125.201 -U replica –D /var/lib/pgsql/9.4/data -X stream -P
回車(chē),從201拷貝數(shù)據(jù)到201(基礎(chǔ)備份)

Postgresql數(shù)據(jù)庫(kù)主從備份教程

輸入:mkdir /opt/pgsql
回車(chē),創(chuàng)建pgsql文件夾
輸入:mkdir /opt/pgsql/pg_archive
回車(chē),創(chuàng)建pg_archive文件夾

Postgresql數(shù)據(jù)庫(kù)主從備份教程

2.配置recovery.conf
輸入:
cp /usr/pgsql-9.4/share/recovery.conf.sample /var/lib/pgsql/9.4/data/recovery.conf
回車(chē),復(fù)制recovery.conf

Postgresql數(shù)據(jù)庫(kù)主從備份教程

輸入:vi /var/lib/pgsql/9.4/data/recovery.conf
回車(chē),進(jìn)入文檔內(nèi)容。
按 i 鍵進(jìn)入“插入編輯模式”,修改以下配置。

表明該節(jié)點(diǎn)是從服務(wù)器:
standby_mode = on
主服務(wù)器的信息以及連接的用戶(hù):
primary_conninfo = ‘host=172.16.125.201 port=5432 user=replica password=replica’
recovery_target_timeline = ‘latest’
編輯完成后,按Esc鍵,輸入::wq
回車(chē),“保存退出”文檔。

3.配置postgresql.conf
輸入:vi /var/lib/pgsql/9.4/data/postgresql.conf
回車(chē),進(jìn)入文檔內(nèi)容。
按 i 鍵進(jìn)入“插入編輯模式”,修改以下配置。
wal_level = hot_standby
一般查多于寫(xiě)的應(yīng)用從庫(kù)的大連接數(shù)要比較大:
max_connections = 1000
說(shuō)明這臺(tái)機(jī)器不僅僅是用于數(shù)據(jù)歸檔,也用于數(shù)據(jù)查詢(xún):
hot_standby = on
數(shù)據(jù)流備份的大延遲時(shí)間:
max_standby_streaming_delay = 30s
多久向主報(bào)告一次從的狀態(tài),設(shè)置最長(zhǎng)的間隔時(shí)間:
wal_receiver_status_interval = 10s
如果有錯(cuò)誤的數(shù)據(jù)復(fù)制,是否向主進(jìn)行反饋:
hot_standby_feedback = on

Postgresql數(shù)據(jù)庫(kù)主從備份教程

編輯完成后,按Esc鍵,輸入::wq
回車(chē),“保存退出”文檔。

輸入:systemctl restart postgresql-9.4.service
回車(chē),重啟postgressql服務(wù)。

至此,PostgreSQL主從流復(fù)制安裝部署完成,用可視化工具測(cè)試一下吧。
在主服務(wù)器(201)上插入數(shù)據(jù)或刪除數(shù)據(jù),
在從服務(wù)器(200)上能看到相應(yīng)的變化。
從服務(wù)器(200)上只能查詢(xún),不能插入或刪除。

Postgresql數(shù)據(jù)庫(kù)主從備份教程

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

本文標(biāo)題:Postgresql數(shù)據(jù)庫(kù)主從備份教程-創(chuàng)新互聯(lián)
本文來(lái)源:http://www.muchs.cn/article18/epcgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、做網(wǎng)站、小程序開(kāi)發(fā)、定制開(kāi)發(fā)、ChatGPT、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司