安裝配置PGBouncer連線池
PgBouncer可以在資料庫和前端應用間建立連線,由PgBouncer去處理和後端資料庫的連線關係。
對客戶端的連線進行限制,預防過多或者惡意的連線請求。
主要工作還是每一個資料節點對資料的存取,pgbouncer只是提供給客戶端資料節點的分配和連結以及限制客戶端連線的數量。整體上實現了對資料的負載均衡。能夠快取和PostgreSQL的連線,當有連線請求進來的時候,直接分配空閒程式,而不需要PostgreSQL fork出新程式來建立連線,以節省建立新程式,建立連線的資源消耗。
能夠有效提高連線的利用率,避免過多的無效連線,導致資料庫消耗資源過大,CPU佔用過高。
1.安裝配置過程
–解壓pgbouncer包
su - pg10 cd resource/ tar -zxf pgbouncer-1.14.0.tar.gz
–建立pgbouncer目錄
mkdir ~/pgbouncer
–裝libevent-devel
su - root yum install -y libevent-devel (或者su - root rpm -ivh libevent-devel-2.0.21-4.el7.x86_64.rpm)
–編譯安裝pgbouncer
su - pg10 cd resource/pgbouncer-1.14.0/ ./configure --prefix=/home/pg10/pgbouncer
–編譯
make -j4
–編譯安裝
make install -j4
–切換到安裝目錄
cd ~/pgbouncer/
–編輯pgbouncer.ini檔案
egrep -v '^\;| ^$' /home/pg10/pgbouncer/share/doc/pgbouncer/pgbouncer.ini > pgbouncer.ini
vi pgbouncer.ini
[databases] appdb = host=主機ip dbname=appdb port=5666 [pgbouncer] logfile = /home/pg10/pgbouncer/pgbouncer.log pidfile = /home/pg10/pgbouncer/pgbouncer.pid listen_addr = * listen_port = 5766 auth_type = trust auth_file = /home/pg10/pgbouncer/userlist.txt
cd /home/pg10/pgbouncer/ cp share/doc/pgbouncer/userlist.txt . vi userlist.txt
–清空,並新增
"appuser" "1qaz@WSX"
–啟動pgbouncer
su - pg10 cd vi .bashrc 將PATH變成 export PATH=${PGHOME}/bin:/home/pg10/pgbouncer/bin:${PATH}
–使環境變數生效
. .bashrc pgbouncer --help pgbouncer -d -v /home/pg10/pgbouncer/pgbouncer.ini
vi $PGDATA/pg_hba.conf
加一行
host appdb appuser 192.168.2.0/24 trust
2.驗證
pg_ctl reload psql -U appuser -d appdb -p 5766
連線失敗的話------
su - root ps -ef | grep pgbouncer kill -9 21429 pgbouncer -d -v /home/pg10/pgbouncer/pgbouncer.ini
–測試連線成功
psql -U appuser -d appdb -p 5766 連線成功
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69990629/viewspace-2791683/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- docker 安裝redis 以及配置連線DockerRedis
- mysql資料庫連線池配置教程MySql資料庫
- 連線池
- druid資料庫連線池的配置類UI資料庫
- Jdbc 封裝, 利用反射, 加入連線池JDBC封裝反射
- MySQL下載安裝配置及JDBC連線資料庫MySqlJDBC資料庫
- 最新最全mysql8.0.15安裝配置及連線Navicat教程MySql
- 用idea配置c3p0連線池Idea
- HTTP連線池HTTP
- django連線池Django
- Http持久連線與HttpClient連線池HTTPclient
- 連線池和連線數詳解
- Spring系列之整合Druid連線池及監控配置SpringUI
- 自定義連線池
- ElasticSearch連線池建立Elasticsearch
- Windows Homestead 離線安裝,帶盒子連線Windows
- springboot新增多資料來源連線池並配置MybatisSpring BootMyBatis
- Spring Boot中增強對MongoDB的配置(連線池等)Spring BootMongoDB
- 聊聊jedis連線池對commons-pool的封裝封裝
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- Golang SQL連線池梳理GolangSQL
- Tomcat 的 JDBC 連線池TomcatJDBC
- go 語言連線池Go
- tomcat自帶連線池dbcp配置以及最佳化說明Tomcat
- 使用 Spring Boot 2.4配置Oracle的UCP資料庫連線池Spring BootOracle資料庫
- 《四 資料庫連線池原始碼》手寫資料庫連線池資料庫原始碼
- Ubuntu Server安裝介面並VNC連線UbuntuServerVNC
- linux安裝mongoDB與遠端連線LinuxMongoDB
- linux安裝redis和遠端連線LinuxRedis
- Ubuntu18.04下安裝Docker並配置SSL證書加密遠端連線UbuntuDocker加密
- golang連線MySQL時候的連線池設定GolangMySql
- 【JDBC】java連線池模擬測試 連線oracleJDBCJavaOracle
- 【JDBC】使用OracleDataSource建立連線池用於連線OracleJDBCOracle
- 線上問題總結-獲取不到連線池(logback 配置+程式碼問題)
- 基於C++11的資料庫連線池環境配置C++資料庫
- Druid連線池引數maxWait配置錯誤引發的問題UIAI
- 資料庫連線池原理資料庫
- Python實現MySQL連線池PythonMySql