一. 分布式數據庫概述
分布式數據庫系統通常使用較小的計算機系統,每台計算機可單獨放在一個地方,每台計算機中都可能有DBMS的一份完整拷貝副本,或者部分拷貝副本,並具有自己局部的數據庫,位於不同地點的許多計算機通過網絡互相連接,共同組成一個完整的、全局的邏輯上集中、物理上分布的大型數據庫
參考:https://baike.baidu.com/item/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/1238109?fr=aladdin
二.搭建方式
下面以簡單的一主一從拋磚引玉一下
1. 准備兩台物理主機如下
主機 | ip |
---|---|
Master 節點 |
192.168.5.139 |
Slave 節點 |
192.168.5.149 |
最好是linux系統 比如debian10 或者ubuntu ,系統默認安裝了postgres
postgres安裝教程參考:https://www.cnblogs.com/tufeigege/p/15406743.html
2. 配置主備節點
master節點
1)、修改配置
sudo vi /etc/postgresql/9.6/main/postgresql.conf listen_addresses = '*' wal_level = hot_standby archive_mode = on archive_command = 'test ! -f /var/lib/postgresql/11/archive/%f && cp %p /var/lib/postgresql/11/archive/%f' max_wal_senders = 16 wal_keep_segments = 100 hot_standby = on logging_collector = on ## 更多參考 https://www.postgresql.org/docs/current/static/runtime-config.html sudo vi /etc/postgresql/11/main/pg_hba.conf host all all 0.0.0.0/0 md5 ## 更多參考 https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html sudo -upostgres mkdir /var/lib/postgresql/11/archive sudo chmod 0700 /var/lib/postgresql/11/archive sudo service postgresql restart
slave節點
1)、先停止服務
sudo service postgresql stop
2)、由master節點導入數據
sudo mv /var/lib/postgresql/11/main /var/lib/postgresql/11/main.bak sudo -upostgres pg_basebackup -D /var/lib/postgresql/11/main -F p -X stream -v -R -h 192.168.5.139 -p 5432 -U postgres
3)、修改配置
sudo vi /var/lib/postgresql/11/main/recovery.conf standby_mode = 'on' primary_conninfo = 'user=postgres host=192.168.5.139 port=5432' trigger_file = 'failover.now' ## 更多參考 https://www.postgresql.org/docs/current/static/recovery-config.html sudo vi /etc/postgresql/11/main/postgresql.conf hot_standby = on
4)、重啟並檢查服務
sudo service postgresql start sudo service postgresql status ... Active: active (exited) sudo -upostgres psql psql (11) ...
3.主備校驗
在主庫上 修改一條數據
在備庫上查詢同步修改了
本文參考:
https://www.icode9.com/content-2-1085365.html