Slony-I开源项目

我要开发同款
匿名用户2008年10月06日
75阅读

技术信息

开源地址
https://github.com/Qihoo360/Atlas
授权协议
未知

作品详情

Sloy-I可以来实现PostgreSQL数据库的主从复制。

下面是Sloy-I的安装配置简明指南,实现主副数据库的同步。后面我会再介绍Pgboucer的安装和配置1.主副数据库机器Master:hostame:M_DBietaddr:10.0.0.11OS:Liux2.6.9-42.ELsmpCPU:Itel(R)Xeo(R)CPUL5320@1.86GHzMemTotal:254772kBPgSQL:postgresql-8.3.0Slave:hostame:S_DBietaddr:10.0.0.12OS:Liux2.6.9-42.ELsmpCPU:Itel(R)Xeo(R)CPUL5320@1.86GHzMemTotal:514440kBPgSQL:postgresql-8.3.0#在M_DB和S_DB上安装postgresql-8.3.0,安装和配置过程参见我的上一篇Blog,确保超级用户是postgres,数据库名是URT。#检查M_DB和S_DB上的超级用户postgres是否可以访问对方的机器#分别在M_DB和S_DB上执行sudo-upostgres/home/y/pgsql/bi/createlagplpgsqlURT#分别在M_DB和S_DB上的URT数据库里创建相同的表accouts。2.安装Sloy-I#分别在M_DB和S_DB上安装Sloy-Itarxfjsloy1-1.2.13.tar.bz2cdsloy1-1.2.13./cofigure–with-pgcofigdir=/home/y/pgsql/bigmakeallsudogmakeistall3.SloyCofig创建urt_replica_iit.sh文件:###############################!/bi/shSLONIK=/home/y/pgsql/bi/sloik#sloik可执行文件位置CLUSTER=URT#你的集群的名称SET_ID=1#你的复制集的名称MASTER=1#主服务器IDHOST1=M_DB#源库IP或主机名DBNAME1=URT#需要复制的源数据库SLONY_USER=postgres#源库数据库超级用户名SLAVE=2#从服务器IDHOST2=S_DB#目的库IP或主机名DBNAME2=URT#需要复制的目的数据库PGBENCH_USER=postgres#目的库用户名$SLONIK<<_EOF_#这句是定义集群名clusterame=$CLUSTER;#这两句是定义复制节点ode$MASTERadmicoifo='dbame=$DBNAME1host=$HOST1user=$SLONY_USER';ode$SLAVEadmicoifo='dbame=$DBNAME2host=$HOST2user=$PGBENCH_USER';#初始化集群和主节点,id从1开始,如果只有一个集群,那么肯定是1#commet里可以写一些自己的注释,随意iitcluster(id=$MASTER,commet='PrimaryNode');#下面是从节点storeode(id=$SLAVE,commet='SlaveNode');#配置主从两个节点的连接信息,就是告诉Slave服务器如何来访问Master服务器#下面是主节点的连接参数storepath(server=$MASTER,cliet=$SLAVE,coifo='dbame=$DBNAME1host=$HOST1user=$SLONY_USER');#下面是从节点的连接参数storepath(server=$SLAVE,cliet=$MASTER,coifo='dbame=$DBNAME2host=$HOST2user=$PGBENCH_USER');#设置复制中角色,主节点是原始提供者,从节点是接受者storeliste(origi=$MASTER,provider=1,receiver=2);storeliste(origi=$SLAVE,provider=2,receiver=1);#创建一个复制集,id也是从1开始createset(id=$SET_ID,origi=$MASTER,commet='Allpgbechtables');#向自己的复制集种添加表,每个需要复制的表添加一条set命令,id从1开始,逐次递加,步进为1;#fullyqualifiedame是表的全称:模式名.表名#这里的复制集id需要和前面创建的复制集id一致setaddtable(setid=$SET_ID,origi=$MASTER,id=1,fullyqualifiedame='public.accouts',commet='Tableaccouts');_EOF_#########################在M_DB或者S_DB上执行./urt_replica_iit.sh4.SloyStart创建Master.slo文件:########################cluster_ame="URT"co_ifo="dbame=URThost=M_DBuser=postgres"########################创建Slave.slo文件:########################cluster_ame="URT"co_ifo="dbame=URThost=S_DBuser=postgres"#########################在M_DB上执行/home/y/pgsql/bi/slo-fmaster.slo>>master.log&#在S_DB上执行/home/y/pgsql/bi/slo-fslave.slo>>slave.log&5.SloySubscribe创建urt_replica_subscribe.sh文件:#########################!/bi/shSLONIK=/home/y/pgsql/bi/sloik#sloik可执行文件位置CLUSTER=URT#你的集群的名称SET_ID=1#你的复制集的名称MASTER=1#主服务器IDHOST1=M_DB#源库IP或主机名DBNAME1=URT#需要复制的源数据库SLONY_USER=postgres#源库数据库超级用户名SLAVE=2#从服务器IDHOST2=S_DB#目的库IP或主机名DBNAME2=URT#需要复制的目的数据库PGBENCH_USER=postgres#目的库用户名$SLONIK<<_EOF_#这句是定义集群名clusterame=$CLUSTER;#这两句是定义复制节点ode$MASTERadmicoifo='dbame=$DBNAME1host=$HOST1user=$SLONY_USER';ode$SLAVEadmicoifo='dbame=$DBNAME2host=$HOST2user=$PGBENCH_USER';#提交复制集subscribeset(id=$SET_ID,provider=$MASTER,receiver=$SLAVE,forward=o);_EOF_#########################在M_DB或者S_DB上执行./urt_replica_subscribe.sh6.测试修改M_DB上URT数据里的accouts表,S_DB上的accouts表也会随之改变

功能介绍

Slony-I可以来实现PostgreSQL数据库的主从复制。 下面是Slony-I 的安装配置简明指南,实现主副数据库的同步。后面我会再介绍Pgbouncer的安装和配置 1. 主副数据库机器...

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论