我的编程空间,编程开发者的网络收藏夹
学习永远不晚

POSTGRESQL10.3 RPM包如何实现主从搭建

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

POSTGRESQL10.3  RPM包如何实现主从搭建

这篇文章主要介绍POSTGRESQL10.3  RPM包如何实现主从搭建,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!



一、POSTGRESQL主从复制搭建

1、安装POSTGRESQL

PGSQL10.3

下载地址:

https://yum.postgresql.org/testing/10/redhat/rhel-6-x86_64/repoview/postgresqldbserver10.group.html

下载

·         postgresql10 - PostgreSQL client programs and libraries

·         postgresql10-contrib - Contributed source and binaries distributed with PostgreSQL

·         postgresql10-libs - The shared libraries required for any PostgreSQL clients

·         postgresql10-server - The programs needed to create and run a PostgreSQL server

依次使用rpm –ivh 进行安装(两个节点都安装)

安装顺序:

rpm -ivh postgresql10-libs-10.3-1PGDG.rhel6.x86_64.rpm

rpm -ivh postgresql10-10.3-1PGDG.rhel6.x86_64.rpm

rpm -ivh postgresql10-server-10.3-1PGDG.rhel6.x86_64.rpm

rpm -ivh postgresql10-contrib-10.3-1PGDG.rhel6.x86_64.rpm

2、启动POSTGRESQL服务

(1)第一步启动

service postgresql-10 initdb

(2)第二步启动

service postgresql-10 start

3、修改监听

(1)修改监听地址

vi  /var/lib/pgsql/10/data/postgresql.conf

# - Connection Settings -

 #这里原本是#listen_addresses ='localhost'修改为以下黄色字体

listen_addresses = '192.168.159.128'           

(2)查看监听

显示黄色特色字体即可

netstat -anlp |grep post

tcp        0      0 192.168.159.128:5432        0.0.0.0:*                   LISTEN      4784/postmaster    

udp        0      0 ::1:57424                   ::1:57424                   ESTABLISHED 4784/postmaster    

unix  2      [ ACC ]     STREAM     LISTENING     30353  4784/postmaster     /var/run/postgresql/.s.PGSQL.5432

unix  2      [ ACC ]     STREAM     LISTENING     30356  4784/postmaster     /tmp/.s.PGSQL.5432

4、主从搭建

(1)主库环境

su - postgres

psql

创建一个用户复制的用户replica

CREATE ROLE replica login replication encrypted password 'replica';

修改pg_hba.conf文件,指定replica登录网络(最后一添加)

vi /var/lib/pgsql/10/data/pg_hba.conf

host    replication     replica            192.168.159.0/24         md5
host    all          replica           192.168.159.0/24         trust

 
主库配置文件修改以下几项,其他不变
vi /var/lib/pgsql/10/data/postgresql.conf
listen_addresses = '*'
wal_level = hot_standby  #热备模式
max_wal_senders= 6 #可以设置最多几个流复制链接,差不多有几个从,就设置多少
wal_keep_segments = 10240  #重要配置
wal_send_timeout = 60s
max_connections = 512 #从库的 max_connections要大于主库
archive_mode = on #允许归档
archive_command = 'cp %p /url/path%f'   #根据实际情况设置

(2)从库环境

把备库的数据文件夹目录清空
rm -rf /var/lib/pgsql/10/data/*

在备库上运行

pg_basebackup -F p --progress -D /var/lib/pgsql/10/data/ -h 192.168.159.128 -p 5432 -U replica --password

输入密码replica 

!!!注意,复制完成后,在备库一定要将数据目录下的所有文件重新授权

chown -R postgres.postgres /var/lib/pgsql/10/data/

创建recovery.cnf 文件

cp /usr/pgsql-10/share/recovery.conf.sample /var/lib/pgsql/10/data/recovery.conf

vi  /var/lib/pgsql/10/data/recovery.conf

standby_mode = on

primary_conninfo = 'host=192.168.159.128 port=5432 user=replica password=replica'

recovery_target_timeline = 'latest'

trigger_file = '/var/lib/pgsql/10/data/trigger.kenyon'

vi /var/lib/pgsql/10/data/postgresql.conf
listen_addresses ='*'

wal_level = hot_standby

max_connections =1000 #一般从的最大链接要大于主的

hot_standby =on  #说明这台机器不仅仅用于数据归档,也用于查询

max_standby_streaming_delay =30s

wal_receiver_status_interval = 10s  #多久向主报告一次从的状态

hot_standby_feedback = on   #如果有错误的数据复制,是否向主进行范例

启动备库

service postgresql-10 start

如果无法启动,如下操作:

scp /var/lib/pgsql/10/data/postmaster.opts 192.168.159.129:/var/lib/pgsql/10/data/

 chown -R postgres.postgres /var/lib/pgsql/10/data/

chmod 700 data/

5、验证主从功能

主库查询

su - postgres

psql

postgres=# select client_addr,sync_state from pg_stat_replication;

   client_addr   | sync_state

-----------------+------------

 192.168.159.129 | async

(1 row)

在主库创建表

create table test2 (name varchar(3));

在从库查询表

\d

主库查询黄色字体

[root@ha1 data]# ps aux | grep postgres

postgres  4686  0.0  0.8 356584 15592 ?        S    15:22   0:00 /usr/pgsql-10/bin/postmaster -D /var/lib/pgsql/10/data

postgres  4688  0.0  0.0 209416  1572 ?        Ss   15:22   0:00 postgres: logger process                             

postgres  4690  0.0  0.1 356700  3744 ?        Ss   15:22   0:00 postgres: checkpointer process                       

postgres  4691  0.0  0.1 356584  3044 ?        Ss   15:22   0:00 postgres: writer process                             

postgres  4692  0.0  0.3 356584  5980 ?        Ss   15:22   0:00 postgres: wal writer process                         

postgres  4693  0.0  0.1 356992  2616 ?        Ss   15:22   0:00 postgres: autovacuum launcher process                

postgres  4694  0.0  0.0 211516  1540 ?        Ss   15:22   0:00 postgres: archiver process                           

postgres  4695  0.0  0.0 211648  1784 ?        Ss   15:22   0:02 postgres: stats collector process                    

postgres  4696  0.0  0.1 356876  2272 ?        Ss   15:22   0:00 postgres: bgworker: logical replication launcher     

postgres  4711  0.7  0.4 358576  8536 ?        Ss   15:24   0:35 postgres: dbuser exampledb 192.168.159.1(63172) idle 

postgres  4845  0.0  0.1 357384  3424 ?        Ss   15:39   0:00 postgres: wal sender process replica 192.168.159.129(46554) streaming 0/401B0A0

root      5049  0.0  0.0 103256   840 pts/3    S+   16:42   0:00 grep postgres

备库查询黄色字体

[root@ha2 data]# ps aux | grep postgres

postgres  4827  0.0  2.2 398228 42844 ?        S    15:39   0:00 /usr/pgsql-10/bin/postmaster -D /var/lib/pgsql/10/data

postgres  4829  0.0  0.0 209416  1536 ?        Ss   15:39   0:00 postgres: logger process                             

postgres  4830  0.0  0.2 398324  3948 ?        Ss   15:39   0:00 postgres: startup process   recovering 000000010000000000000004

postgres  4831  0.0  0.1 398228  3496 ?        Ss   15:39   0:00 postgres: checkpointer process                       

postgres  4832  0.0  0.1 398228  2772 ?        Ss   15:39   0:00 postgres: writer process                             

postgres  4833  0.0  0.0 211516  1604 ?        Ss   15:39   0:00 postgres: stats collector process                    

postgres  4834  0.1  0.1 405444  3688 ?        Ss   15:39   0:06 postgres: wal receiver process   streaming 0/401B0A0 

root      4912  0.0  0.0 103252   828 pts/3    S+   16:42   0:00 grep postgres

6、POSTGRESQL相关

(1)创建LINUX用户

useradd dbuser

passwd dbuser

(2)创建数据库用户

CREATE USER dbuser WITH PASSWORD 'password';

(3)创建数据库

CREATE DATABASE exampledb OWNER dbuser;

(4)赋予权限

GRANT ALL PRIVILEGES ON DATABASE exampledb TO dbuser;

(5)以dbuser的身份连接数据库exampledb

su - dbuser

psql -d exampledb

(6)网络登陆方式

vi /var/lib/pgsql/10/data/pg_hba.conf(在IPV4那里添加以下)

host    exampledb        dbuser             192.168.159.0/24        trust

切换dbuser用户登陆

psql -h 192.168.159.128 -U dbuser -p password -d exampledb -p 5432

 (7)重启和停止命令

service postgresql-10 restart

service postgresql-10 stop

(8)重要配置文件

pg_hba.conf

postgresql.conf

(9)PG的安装目录及命令目录

查看进程是否启动,可以找到

命令目录/usr/pgsql-10/bin/

安装目录/var/lib/pgsql/10/data

[root@ha1 ~]# ps -ef|grep post

root      1732     1  0 02:25 ?        00:00:00 /usr/libexec/postfix/master

postfix   1742  1732  0 02:25 ?        00:00:00 pickup -l -t fifo -u

postfix   1743  1732  0 02:25 ?        00:00:00 qmgr -l -t fifo -u

postgres  2322     1  1 02:38 ?        00:00:00 /usr/pgsql-10/bin/postmaster -D /var/lib/pgsql/10/data

postgres  2324  2322  0 02:38 ?        00:00:00 postgres: logger process                             

postgres  2329  2322  0 02:38 ?        00:00:00 postgres: checkpointer process                       

postgres  2330  2322  0 02:38 ?        00:00:00 postgres: writer process                             

postgres  2331  2322  0 02:38 ?        00:00:00 postgres: wal writer process                         

postgres  2332  2322  0 02:38 ?        00:00:00 postgres: autovacuum launcher process                

postgres  2333  2322  0 02:38 ?        00:00:00 postgres: stats collector process                    

postgres  2334  2322  0 02:38 ?        00:00:00 postgres: bgworker: logical replication launcher     

root      2336  2232  0 02:39 pts/0    00:00:00 grep post

 



7、主备手动切换
4、手动主备切换

(1)创建备库recovery.conf 文件( 在备库上操作192.168.159.152)

  cp $PGHOME/share/recovery.conf.sample $PGDATA/recovery.conf

配置以下参数  

standby_mode = 'on'  --标记PG为STANDBY SERVER

primary_conninfo = 'host=192.168.159.151 port=1921 user=repuser '   --标识主库信息

trigger_file = '/data/pg/data/trigger.kenyon'     --标识触发器文件

(2) 关闭主库(在主库上操作192.168.159.151)

/opt/postgresql-10.3/bin/pg_ctl -D /data/pg/data/ -l logfile stop

(3)激活备库到主库状态 ( 在备库上操作192.168.159.152 )

   激活备库只要创建一个文件即可,根据备库 recovery.conf 配置文件的参数 trigger_file 值,

  创建这个 trigger 文件即可。 例如 "touch /data/pg/data/trigger.kenyon"

touch /data/pg/data/trigger.kenyon

过一会儿发现 recovery.conf 文件变成 recovery.done ,说明备库已经激活。

查看logfile日志,出现以下信息即激活
2018-06-04 21:11:01.137 PDT [12818] 日志:  已找到触发器文件:/data/pg/data/trigger.kenyon
2018-06-04 21:11:01.148 PDT [12818] 日志:  redo 在 0/C02A390 完成
2018-06-04 21:11:01.172 PDT [12818] 日志:  已选择的新时间线ID:2
2018-06-04 21:11:05.442 PDT [12818] 日志:  归档恢复完毕
2018-06-04 21:11:05.568 PDT [12817] 日志:  数据库系统准备接受连接


(4)修改原来主库的配置文件
vi /data/pg/data/postgresql.conf
max_connections = 1500


(5)激活原来的主库,让其转变成从库  (在原来的主库上执行192.168.159.151) 

--创建 $PGDATA/recovery.conf 文件,配置以下参数
vi /data/pg/data/recovery.conf

recovery_target_timeline = 'latest'

standby_mode = 'on'  --标记PG为STANDBY SERVER

primary_conninfo = 'host=192.168.159.152 port=1921 user=repuser '   --标识主库信息

trigger_file = '/data/pg/data/trigger.kenyon'     --标识触发器文件

--修改 pg_hba.conf (现在的主库上增加192.168.159.152),添加以下配置
vi /data/pg/data/pg_hba.conf

host   replication     repuser          192.168.159.151/32         md5


启动原来的主库即现在的从库(192.168.159.151)
/opt/postgresql-10.3/bin/pg_ctl -D /data/pg/data/ -l logfile start

查看现在的从库logfile日志发现报错信息
2018-06-05 00:08:00.326 PDT [9729] 详细信息:  WAL结束时,到了时间线1和地址0/C02A400.
2018-06-05 00:08:00.327 PDT [9725] 日志:  在当前恢复点0/C02A630之前, 新的时间点2脱离了当前茅的数据库系统时间点1
2018-06-05 00:08:05.322 PDT [9729] 日志:  在0/C000000处时间线1上重启WAL流操作
2018-06-05 00:08:05.327 PDT [9729] 日志:  复制由主用服务器终止
2018-06-05 00:08:05.327 PDT [9729] 详细信息:  WAL结束时,到了时间线1和地址0/C02A400.
2018-06-05 00:08:05.329 PDT [9725] 日志:  在当前恢复点0/C02A630之前, 新的时间点2脱离了当前茅的数据库系统时间点1
2018-06-05 00:08:10.328 PDT [9729] 日志:  在0/C000000处时间线1上重启WAL流操作
2018-06-05 00:08:10.332 PDT [9729] 日志:  复制由主用服务器终止
2018-06-05 00:08:10.332 PDT [9729] 详细信息:  WAL结束时,到了时间线1和地址0/C02A400.
2018-06-05 00:08:10.333 PDT [9725] 日志:  在当前恢复点0/C02A630之前, 新的时间点2脱离了当前茅的数据库系统时间点1

在现在的主库操作:
scp /data/pg/data/pg_wal/00000002.history 192.168.159.151:/data/pg/data/pg_wal/4、手动主备切换

(1)创建备库recovery.conf 文件( 在备库上操作192.168.159.152)

  cp $PGHOME/share/recovery.conf.sample $PGDATA/recovery.conf

配置以下参数  

standby_mode = 'on'  --标记PG为STANDBY SERVER

primary_conninfo = 'host=192.168.159.151 port=1921 user=repuser '   --标识主库信息

trigger_file = '/data/pg/data/trigger.kenyon'     --标识触发器文件

(2) 关闭主库(在主库上操作192.168.159.151)

/opt/postgresql-10.3/bin/pg_ctl -D /data/pg/data/ -l logfile stop

(3)激活备库到主库状态 ( 在备库上操作192.168.159.152 )

   激活备库只要创建一个文件即可,根据备库 recovery.conf 配置文件的参数 trigger_file 值,

  创建这个 trigger 文件即可。 例如 "touch /data/pg/data/trigger.kenyon"

touch /data/pg/data/trigger.kenyon

过一会儿发现 recovery.conf 文件变成 recovery.done ,说明备库已经激活。

查看logfile日志,出现以下信息即激活
2018-06-04 21:11:01.137 PDT [12818] 日志:  已找到触发器文件:/data/pg/data/trigger.kenyon
2018-06-04 21:11:01.148 PDT [12818] 日志:  redo 在 0/C02A390 完成
2018-06-04 21:11:01.172 PDT [12818] 日志:  已选择的新时间线ID:2
2018-06-04 21:11:05.442 PDT [12818] 日志:  归档恢复完毕
2018-06-04 21:11:05.568 PDT [12817] 日志:  数据库系统准备接受连接


(4)修改原来主库的配置文件
vi /data/pg/data/postgresql.conf
max_connections = 1500


(5)激活原来的主库,让其转变成从库  (在原来的主库上执行192.168.159.151) 

--创建 $PGDATA/recovery.conf 文件,配置以下参数
vi /data/pg/data/recovery.conf

recovery_target_timeline = 'latest'

standby_mode = 'on'  --标记PG为STANDBY SERVER

primary_conninfo = 'host=192.168.159.152 port=1921 user=repuser '   --标识主库信息

trigger_file = '/data/pg/data/trigger.kenyon'     --标识触发器文件

--修改 pg_hba.conf (现在的主库上增加192.168.159.152),添加以下配置
vi /data/pg/data/pg_hba.conf

host   replication     repuser          192.168.159.151/32         md5


启动原来的主库即现在的从库(192.168.159.151)
/opt/postgresql-10.3/bin/pg_ctl -D /data/pg/data/ -l logfile start

查看现在的从库logfile日志发现报错信息
2018-06-05 00:08:00.326 PDT [9729] 详细信息:  WAL结束时,到了时间线1和地址0/C02A400.
2018-06-05 00:08:00.327 PDT [9725] 日志:  在当前恢复点0/C02A630之前, 新的时间点2脱离了当前茅的数据库系统时间点1
2018-06-05 00:08:05.322 PDT [9729] 日志:  在0/C000000处时间线1上重启WAL流操作
2018-06-05 00:08:05.327 PDT [9729] 日志:  复制由主用服务器终止
2018-06-05 00:08:05.327 PDT [9729] 详细信息:  WAL结束时,到了时间线1和地址0/C02A400.
2018-06-05 00:08:05.329 PDT [9725] 日志:  在当前恢复点0/C02A630之前, 新的时间点2脱离了当前茅的数据库系统时间点1
2018-06-05 00:08:10.328 PDT [9729] 日志:  在0/C000000处时间线1上重启WAL流操作
2018-06-05 00:08:10.332 PDT [9729] 日志:  复制由主用服务器终止
2018-06-05 00:08:10.332 PDT [9729] 详细信息:  WAL结束时,到了时间线1和地址0/C02A400.
2018-06-05 00:08:10.333 PDT [9725] 日志:  在当前恢复点0/C02A630之前, 新的时间点2脱离了当前茅的数据库系统时间点1

在现在的主库操作:
scp /data/pg/data/pg_wal/00000002.history 192.168.159.151:/data/pg/data/pg_wal/

(1)创建备库recovery.conf 文件( 在备库上操作192.168.159.149)

  cp /usr/pgsql-10/share/recovery.conf.sample /var/lib/pgsql/10/data/recovery.conf

配置以下参数  

standby_mode = 'on'  --标记PG为STANDBY SERVER

primary_conninfo = 'host=192.168.159.128 port=5432 user=replica password=replica'   --标识主库信息

trigger_file = '/var/lib/pgsql/10/data/trigger.kenyon'     --标识触发器文件

(2) 关闭主库(在主库上操作192.168.159.148)

service postgresql-10 stop

(3)激活备库到主库状态 ( 在备库上操作192.168.159.149 )

   激活备库只要创建一个文件即可,根据备库 recovery.conf 配置文件的参数 trigger_file 值,

  创建这个 trigger 文件即可。 例如 "touch /var/lib/pgsql/10/data/trigger.kenyon"

touch /var/lib/pgsql/10/data/trigger.kenyon

过一会儿发现 recovery.conf 文件变成 recovery.done ,说明备库已经激活。

查看/var/lib/pgsql/10/data/log/目录下的最新日志,出现以下信息即激活
(我这里的日志是tail  -100f postgresql-Tue.log)
2018-06-05 19:32:36.403 PDT [3969] LOG:  fetching timeline history file for timeline 2 from primary server
2018-06-05 19:32:36.429 PDT [3969] LOG:  started streaming WAL from primary at 0/3000000 on timeline 1
2018-06-05 19:32:36.461 PDT [3969] LOG:  replication terminated by primary server
2018-06-05 19:32:36.461 PDT [3969] DETAIL:  End of WAL reached on timeline 1 at 0/301B078.
2018-06-05 19:32:36.478 PDT [3916] LOG:  new target timeline is 2
2018-06-05 19:32:36.479 PDT [3969] LOG:  restarted WAL streaming at 0/3000000 on timeline 2
2018-06-05 19:32:37.044 PDT [3916] LOG:  redo starts at 0/301B078

(4)修改原来主库的配置文件(192.168.159.148)
vi /var/lib/pgsql/10/data/postgresql.conf
max_connections = 150


(5)激活原来的主库,让其转变成从库  (在原来的主库上执行192.168.159.148) 

--创建 $PGDATA/recovery.conf 文件,配置以下参数
vi /data/pg/data/recovery.conf

recovery_target_timeline = 'latest'

standby_mode = 'on'  --标记PG为STANDBY SERVER

primary_conninfo = 'host=192.168.159.149 port=1921 user=repuser '   --标识主库信息

trigger_file = '/var/lib/pgsql/10/data/trigger.kenyon'     --标识触发器文件

--修改 pg_hba.conf (现在的主库上增加192.168.159.149),添加以下配置
vi /data/pg/data/pg_hba.conf

host    replication     replica            192.168.159.0/24         md5
host    all          replica           192.168.159.0/24         trust


注意这里修改完配置文件后需要重启数据库服务(192.168.159.149)
service postgresql-10 restart

启动原来的主库即现在的从库(192.168.159.148)
service postgresql-10 start


主库查询

su - postgres

psql

postgres=# select client_addr,sync_state from pg_stat_replication;

   client_addr   | sync_state 
-----------------+------------
 192.168.159.148 | async
(1 row)

相关报错:
(1)网络登录方式报错
psql: FATAL:  no pg_hba.conf entry for host "192.168.159.128", user "dbuser", database "exampledb", SSL off

出现这个报错,就要检查pg_hba.conf文件了,
添加设置host exampledb dbuser 192.168.159.0/24        trust  重启数据库即可解决

(2)发现登陆postgres时出现以下问题
-bash-4.1$ 
root用户执行
cp /etc/skel/.bash* /var/lib/pgsql/
再次登陆即可变成
[postgres@node1 ~]$

以上是“POSTGRESQL10.3  RPM包如何实现主从搭建”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

POSTGRESQL10.3 RPM包如何实现主从搭建

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux如何从一个rpm源码构建一个 rpm 包

本文详述了从RPM源码构建RPM包的步骤。首先,准备环境、编辑spec文件,然后预处理源代码。接下来,构建RPM包,并可以根据需要签名和验证。文中提供了构建NginxRPM包的示例,并介绍了其他说明和构建选项。
linux如何从一个rpm源码构建一个 rpm 包
2024-04-02

MySQL如何搭建主从同步实现操作

小编给大家分享一下MySQL如何搭建主从同步实现操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、MySQL 8.0 主从同步主从同步的流程(原理):mast
2023-06-29

如何搭建Redis集群实现三主三从

这篇文章给大家分享的是有关如何搭建Redis集群实现三主三从的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装需要在每一个节点上进行1、下载解压安装包cd /usr/local/wget http://downl
2023-06-04

Docker搭建MySQL5.7主从复制的实现

目录1、新建mysql-master主服务器容器实例33072、新建mysql-master主服务器配置文件my.cnf3 重启master实例4 进入mysql-master容器5 master容器实例内创建数据同步用户6 新建mysql
2022-06-22

如何在CentOS/RedHat下实现根据源码包创建rpm包

今天就跟大家聊聊有关如何在CentOS/RedHat下实现根据源码包创建rpm包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。有时你可能需要获取一个开源应用的源码包,但是可能没有无法
2023-06-16

MySQL主从搭建(多主一从)的实现思路与步骤

背景:由于最近公司项目好像有点受不住并发压力了,优化迫在眉睫。由于当前系统是单数据库系统原因,能优化的地方也尽力优化了但是数据库瓶颈还是严重限制了项目的并发能力。所以就考虑了添加数据库来增大项目并发能力。 思路:1: 创建集中库: 主要就是
2022-05-24

编程热搜

目录