连锁当家运维手册


postgresql 流复制

<p>1.环境规划 Primary和Standby节点最好有相同的环境。</p> <p>2.安装PostgreSQL</p> <p>3.Primary节点 获取安装postgresql 官方yum 源 yum install wget -y wget <a href="http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-redhat95-9.5-2.noarch.rpm">http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-redhat95-9.5-2.noarch.rpm</a> 安装postgresql官方yum 源 rpm -ivh pgdg-redhat95-9.5-2.noarch.rpm 安装PostgreSQL数据库 yum install postgresql95-server postgresql95-contrib</p> <p>4.给启动脚本改个名字,太长了</p> <p>5.mv /etc/init.d/postgresql-9.5 /etc/init.d/pgsql</p> <p>6.修改数据库初始化目录</p> <p>7./ect/init.d/ pgsql 文件中 PGDATA=/data/pgsql/data PGLOG=/data/pgsql/pgstartup.log</p> <p>8.建立数据库初始化目录及归档目录</p> <p>9.mkdir /data/pgsql /data/pgsql/archive</p> <p>10.chown postgres:postgres /data/pgsql /data/pgsql/archive</p> <p>11.初始化数据库</p> <p>12.service pgsql initdb</p> <p>13.配置pg_hba.conf 在# IPv4 local connections下面添加一行,设置PostgreSQL的访问及其权限 host all all 0.0.0.0/0 md5 在# replication privilege.下面添加一行,设置replication用户及权限内网访问 host replication postgres 10.168.136.152/24 trust 配置 postgresql.conf</p> <p>14.修改以下内容</p> <p>15.listen_addresses = '*' port = 5432 wal_level = hot_standby archive_mode = on archive_command = ' cp %p /home/archive/%f ' archive_timeout = 86400 max_wal_senders = 1 wal_keep_segments = 1000</p> <p>16.'/home/archive'是Replication的archive的存储路径。PostgreSQL会将Replication #的WAL保存在'/home/archive'路径下。</p> <p>17.Standby节点 获取安装postgresql 官方yum 源 yum install wget -y wget <a href="http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-redhat95-9.5-2.noarch.rpm">http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-redhat95-9.5-2.noarch.rpm</a> 安装postgresql官方yum 源 rpm -ivh pgdg-redhat95-9.5-2.noarch.rpm 安装PostgreSQL数据库 yum install postgresql95-server postgresql95-contrib</p> <p>18.给启动脚本改个名字,太长了</p> <p>19.mv /etc/init.d/postgresql-9.5 /etc/init.d/pgsql</p> <p>20.修改数据库初始化目录</p> <p>21./ect/init.d/ pgsql 文件中 PGDATA=/data/pgsql/data PGLOG=/data/pgsql/pgstartup.log</p> <p>22.建立数据库初始化目录及归档目录</p> <p>23.mkdir /data/pgsql /data/pgsql/archive</p> <p>24.chown postgres:postgres /data/pgsql /data/pgsql/archive</p> <p>25.初始化数据库</p> <p>26.service pgsql initdb</p> <p>27.配置 postgresql.conf</p> <p>28.listen_addresses = '*' port = 5432 hot_standby = on</p> <p>29.配置pg_hba.conf</p> <p>30.为了测试,添加以下这一句,客户端才好登录数据库,不一定要加</p> <p>31.在# IPv4 local connections下面添加一行,设置PostgreSQL的访问及其权限 host all all 61.165.131.182/24 md5</p> <p>32.在数据库data目录下新建recovery.conf</p> <p>33.restore_command = ' cp /home/archive/%f %p ' standby_mode = 'on' primary_conninfo = 'host= 10.162.35.90 port=5432 user=postgres password=Nmy662456' trigger_file = '/tmp/trigger' 重启服务器 主机备机</p> <p>34.init 6</p> <p>35.主数据库</p> <p>36.启动数据库</p> <p>37.service pgsql start</p> <p>38.切换用户</p> <p>39.su postgres</p> <p>40.登录数据库</p> <p>41.$ psql -dpostgres</p> <p>42.执行以下语句备份</p> <p>43.select pg_start_backup('base');</p> <p>44.用 putty新建一个连接,登录主数据库,等rsync执行完就可以退出</p> <p>45.cd / rsync -av --exclude postmaster.pid --exclude postgresql.conf --exclude pg_ident.conf --exclude pg_hba.conf data/pgsql/data/* 120.27.121.254:/data/pgsql/data/ </p> <p>46.停止备份 select pg_stop_backup();</p> <p>48.备数据库启动</p> <p>49.service pgsql start</p> <p>50.chkconfig pgsql on</p> <p>51.登陆主数据库修改访问密码</p> <p>52.su postgres</p> <p>53.$psql</p> <p>54.ALTER USER postgres PASSWORD '9Internetgly';</p> <p>55.使用postgresqladmin 在主数据库登陆新建表看备数据库是否成功。</p>

页面列表

ITEM_HTML