PostgreSQL连接池工具PGBouncer安装
2015-09-08 14:41
971 查看
前面写了一篇文章简单描述了下PGBouncer,有兴趣的话可以看下:/article/11706557.html
这篇文章介绍PGBouncer的安装以及一些基础的配置,这里使用源码编译安装。
环境:虚拟机Centos6.6,已安装好postgresql9.4.1
首先要下载pgbouncer,下载地址:https://pgbouncer.github.io/downloads/
这里我下载的是当前最新版本pgbouncer-1.6.1.tar.gz,下载后上传到linux。
PGBouncer的安装还是相当简单的,可以在安装目录阅读REDME文件,有安装流程介绍:
这里需要注意一点是,需要安装libevent与libevent-devel包,否则会报如下编译错误:
checking for libevent... configure: error: not found, cannot proceed
这里我使用yum直接安装libevent-devel,会自动安装相关的依赖包,还是比较方便的:
yum install -y libevent-devel
重新编译安装,安装目录为/usr/local/pgbouncer
./configure --prefix=/usr/local/pgbouncer --with-libevent=libevent-prefix
make
make install
ok安装完成。
计划以udbac用户运行pgbouncer,需进行如下配置:
创建/usr/local/pgbouncer/udbac目录用来存放相关配置文件,并授权给用户udbac。
cd /usr/local/pgbouncer
mkdir udbac
chown -R udbac udbac
chmod 0700 udbac
拷贝pgbouncer配置文件:
su udbac
cp /usr/local/pgbouncer/share/doc/pgbouncer/pgbouncer.ini /usr/local/pgbouncer/udbac/
cp /usr/local/pgbouncer/share/doc/pgbouncer/userlist.txt /usr/local/pgbouncer/udbac/
配置pgbouncer.ini
[databases]
pb_udbac = host=127.0.0.1 port=5432 user=udbac password=udbac dbname=udbac
[pgbouncer]
logfile = /usr/local/pgbouncer/udbac/pgbouncer.log
pidfile = /usr/local/pgbouncer/udbac/pgbouncer.pid
listen_addr = *
listen_port = 6432
auth_type = md5
auth_file = /usr/local/pgbouncer/udbac/userlist.txt
admin_users = pb_admin
stats_users = pb_stats
pool_mode = session
server_reset_query = DISCARD ALL
server_check_query = select 1
max_client_conn = 100
default_pool_size = 20
配置userlist.txt:
"udbac" "md5b2703c100ff6b49ce21eb67f874e51a1"
"pb_admin" "udbac"
"pb_stats" "udbac"
其中udbac是后端数据库账户及密码,pb_amdin是登录pgbouncer控制台的账户,pb_stats是只读查看pgbouncer状态的用户。
udbac的密码为MD5加密,所以需要到postgresql的pg_shadow表中获取下udbac密码的加密结果。
配置完成后,可以启动pgbouncer了。
pgbouncer -d /usr/local/pgbouncer/udbac/pgbouncer.ini
测试连接,注意防火墙请打开6432端口:
登录pgbouncer控制台:
这篇文章介绍PGBouncer的安装以及一些基础的配置,这里使用源码编译安装。
环境:虚拟机Centos6.6,已安装好postgresql9.4.1
首先要下载pgbouncer,下载地址:https://pgbouncer.github.io/downloads/
这里我下载的是当前最新版本pgbouncer-1.6.1.tar.gz,下载后上传到linux。
PGBouncer的安装还是相当简单的,可以在安装目录阅读REDME文件,有安装流程介绍:
这里需要注意一点是,需要安装libevent与libevent-devel包,否则会报如下编译错误:
checking for libevent... configure: error: not found, cannot proceed
这里我使用yum直接安装libevent-devel,会自动安装相关的依赖包,还是比较方便的:
yum install -y libevent-devel
重新编译安装,安装目录为/usr/local/pgbouncer
./configure --prefix=/usr/local/pgbouncer --with-libevent=libevent-prefix
make
make install
ok安装完成。
计划以udbac用户运行pgbouncer,需进行如下配置:
创建/usr/local/pgbouncer/udbac目录用来存放相关配置文件,并授权给用户udbac。
cd /usr/local/pgbouncer
mkdir udbac
chown -R udbac udbac
chmod 0700 udbac
拷贝pgbouncer配置文件:
su udbac
cp /usr/local/pgbouncer/share/doc/pgbouncer/pgbouncer.ini /usr/local/pgbouncer/udbac/
cp /usr/local/pgbouncer/share/doc/pgbouncer/userlist.txt /usr/local/pgbouncer/udbac/
配置pgbouncer.ini
[databases]
pb_udbac = host=127.0.0.1 port=5432 user=udbac password=udbac dbname=udbac
[pgbouncer]
logfile = /usr/local/pgbouncer/udbac/pgbouncer.log
pidfile = /usr/local/pgbouncer/udbac/pgbouncer.pid
listen_addr = *
listen_port = 6432
auth_type = md5
auth_file = /usr/local/pgbouncer/udbac/userlist.txt
admin_users = pb_admin
stats_users = pb_stats
pool_mode = session
server_reset_query = DISCARD ALL
server_check_query = select 1
max_client_conn = 100
default_pool_size = 20
配置userlist.txt:
"udbac" "md5b2703c100ff6b49ce21eb67f874e51a1"
"pb_admin" "udbac"
"pb_stats" "udbac"
其中udbac是后端数据库账户及密码,pb_amdin是登录pgbouncer控制台的账户,pb_stats是只读查看pgbouncer状态的用户。
udbac的密码为MD5加密,所以需要到postgresql的pg_shadow表中获取下udbac密码的加密结果。
配置完成后,可以启动pgbouncer了。
pgbouncer -d /usr/local/pgbouncer/udbac/pgbouncer.ini
测试连接,注意防火墙请打开6432端口:
登录pgbouncer控制台:
相关文章推荐
- oracle表值numeric与number
- mysql主主关系配置
- MySQL索引类型&建立索引的时机&索引的不足之处
- ORACLE、 SQLSERVER、MYSQL与DB2的区别
- 命令行修改MySQL数据库密码
- 机器学习相关数据库(转)
- MySQL CMake参数说明手册
- windows7客户端连接VM上oracle问题
- Mac OS X 10.6 Snow Leopard x64 (雪豹) 安装 oracle 10g (10.2) 最终完整教程
- MYSQL-统计查询
- mysqli
- 解决您配置文件中的设置 (空密码的 root) 与 MySQL 默认管理员账户对应。
- mongodb 主从 配置 详解
- sql server date,datetime,datetime2 和 time 简单介绍
- 安装hive后使用mysql作为数据库无法正常启动问题
- MyBatis+MySQL 返回插入的主键ID
- 全球级的分布式数据库 Google Spanner原理
- MYSQL的三种注释
- mongodb 内嵌文档多条件查询($elemMatch)
- 【R】R语言windows下连接MySQL