日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Postgresql数据库主从备份教程

發布時間:2024/4/14 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Postgresql数据库主从备份教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據庫主從熱備

數據庫安裝

1.安裝yum源
打開https://yum.postgresql.org/repopackages.php ,找到自己需要的版本,右鍵復制鏈接地址。

不放心是否復制成功的話可以粘貼出來看看。

以root模式進入CentOS7,輸入:yum install + 剛剛復制的鏈接
回車。

輸入:y,回車。

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

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

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

  • 修改默認PostgreSQL用戶密碼
    PostgreSQL安裝后會創建一個用戶,名為postgres。
    輸入:su – postgres
    回車,切換至用戶。
    輸入:psql -U postgres
    回車,登錄數據庫。
    輸入:ALTER USER postgres with encrypted password ‘abc123’;
    (不要漏了“;”)回車,設置默認用戶postgre的密碼,此處密碼為abc123,可自行修改。
    輸入:\q
    回車, 退出數據庫。
    輸入:exit
    回車,退出用戶。
  • 4.配置遠程訪問
    輸入:vi /var/lib/pgsql/9.4/data/postgresql.conf
    回車,進入文檔內容。(如果使用其他版本的PostgreSQL則需要把其中的9.4換成對應的版本)
    光標下翻,找到listen_addresses。

    按 i 鍵進入“插入編輯模式”,去掉“listen_address”前面的 #,使該配置參數起效
    如果想對所有IP開放,則將 localhost 改為 * 即可
    如果想僅對部分IP開放,多個IP之間用 , (逗號+空格)隔開。

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

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

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

    此時postgreSQL數據庫安裝成功,用可視化工具連接一下吧。

    PostgreSQL主從流復制部署

    172.16.125.201 部署主服務器
    172.16.125.200 部署從服務器
    主服務器配置

    1。首先需要創建一個數據庫用戶進行主從同步。創建用戶replica,并賦予登錄和復制的權限。
    輸入:su – postgres
    回車,切換至用戶。
    輸入:psql -U postgres
    回車,登錄數據庫。
    輸入:CREATE ROLE replica login replication encrypted password ‘replica’;

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

    允許200連接到主服務器:
    host all all 172.16.125.200/32 trust
    允許200使用replica用戶來復制:
    host replication replica 172.16.125.200/32 md5
    如果不明白,技術文檔支持

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

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

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

    4.測試201能否連接200數據庫。在201上運行如下命令:
    輸入:psql -h 172.16.125.200 -U postgres
    回車,然后輸入200數據庫的密碼
    回車,連接上200數據庫

    從服務器配置

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

    輸入:mkdir /opt/pgsql
    回車,創建pgsql文件夾
    輸入:mkdir /opt/pgsql/pg_archive
    回車,創建pg_archive文件夾

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

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

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

    3.配置postgresql.conf
    輸入:vi /var/lib/pgsql/9.4/data/postgresql.conf
    回車,進入文檔內容。
    按 i 鍵進入“插入編輯模式”,修改以下配置。
    wal_level = hot_standby
    一般查多于寫的應用從庫的最大連接數要比較大:
    max_connections = 1000
    說明這臺機器不僅僅是用于數據歸檔,也用于數據查詢:
    hot_standby = on
    數據流備份的最大延遲時間:
    max_standby_streaming_delay = 30s
    多久向主報告一次從的狀態,設置最長的間隔時間:
    wal_receiver_status_interval = 10s
    如果有錯誤的數據復制,是否向主進行反饋:
    hot_standby_feedback = on

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

    輸入:systemctl restart postgresql-9.4.service
    回車,重啟postgressql服務。

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

    轉載于:https://blog.51cto.com/14274049/2373975

    總結

    以上是生活随笔為你收集整理的Postgresql数据库主从备份教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。