一. 分布式数据库概述
分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有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