apr dbd mysql.so_mod_dbd
Apache模块 mod_dbd
管理SQL数据库连接,为需要数据库功能的模块提供支持
扩展(E)
dbd_module
mod_dbd.c
Version 2.1 及以后的版本中可用
概述
apr_dbd管理管理SQL数据库连接。它为需要数据库功能的模块提供了数据库连接支持,并且负责管理数据库,从而为线程和非线程型的MPM提供了最佳的性能和可伸缩性。
这个模块根据不同的平台以优化的方式管理数据库连接。在非线程平台上,它使用经典的LAMP(Linux, Apache, Mysql, Perl/PHP/Python)方式提供持久连接。在线程化的平台上,它提供了更具伸缩性和更加有效的连接池,在一篇ApacheTutor文章中有相关描述。
typedef struct {
apr_dbd_t *handle;
apr_dbd_driver_t *driver;
apr_hash_t *prepared;
} ap_dbd_t;
/* Export functions to access the database */
/* acquire a connection that MUST be explicitly closed.
* Returns NULL on error
*/
AP_DECLARE(ap_dbd_t*) ap_dbd_open(apr_pool_t*, server_rec*);
/* release a connection acquired with ap_dbd_open */
AP_DECLARE(void) ap_dbd_close(server_rec*, ap_dbd_t*);
/* acquire a connection that will have the lifetime of a request
* and MUST NOT be explicitly closed. Return NULL on error.
* This is the preferred function for most applications.
*/
AP_DECLARE(ap_dbd_t*) ap_dbd_acquire(request_rec*);
/* acquire a connection that will have the lifetime of a connection
* and MUST NOT be explicitly closed. Return NULL on error.
*/
AP_DECLARE(ap_dbd_t*) ap_dbd_cacquire(request_rec*);
/* Prepare a statement for use by a client module */
AP_DECLARE(void) ap_dbd_prepare(server_rec*, const char*, const char*);
/* Also export them as optional functions for modules that prefer it */
APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_open, (apr_pool_t*, server_rec*));
APR_DECLARE_OPTIONAL_FN(void, ap_dbd_close, (server_rec*, ap_dbd_t*));
APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_acquire, (request_rec*));
APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_cacquire, (conn_rec*));
APR_DECLARE_OPTIONAL_FN(void, ap_dbd_prepare, (server_rec*, const char*, const char*));
ap_dbd_t的prepared字段。Hash项为apr_dbd_prepared_t类型,并可以被用于任何apr_dbd预处理语句(SQL查询或select命令)。
dbd的用户模块可以决定是否使用预处理语句以及在httpd.conf中能够使用什么样的语句,或者使用ap_dbd_prepare提供它们自己的指令。
空闲连接的持续时间
DBDExptime time-in-seconds
server config, virtual host
扩展(E)
mod_dbd
设置在超出DBDKeep指定的连接数时空闲连接允许的持续时间(仅用于线程化平台)。
每个进程持有的连接数
DBDKeep number
server config, virtual host
扩展(E)
mod_dbd
设置每个进程持有的连接数,不同于为了处理最高负荷的DBDMax指令(仅用于线程化平台)。
每个进程允许持有的最大连接数硬限制
DBDMax number
server config, virtual host
扩展(E)
mod_dbd
设置每个进程允许持有的最大连接数硬限制(仅用于线程化平台)。
每个进程必须持有的最小连接数
DBDMin number
server config, virtual host
扩展(E)
mod_dbd
设置每个进程必须持有的最小连接数(仅用于线程化平台)。
数据库的连接参数
DBDParams param1=value1[,param2=value2]
server config, virtual host
扩展(E)
mod_dbd
设置底层驱动程序所必须的连接参数。通常这些参数都是无法在连接时使用默认值的参数,比如:用户名、密码、数据库名、主机名、端口号。
当前的驱动程序所需要的连接字符串参数包括:
MySQL
host, port, user, pass, dbname, sock
Oracle
user, pass, dbname, server
PostgreSQL
直接通过PQconnectdb传递
SQLite2
使用分号分割,part1:part2将作为sqlite_open(part1, atoi(part2), NULL)使用。
SQLite3
直接通过sqlite3_open传递
是否使用持久连接
DBDPersist 0|1
server config, virtual host
扩展(E)
mod_dbd
设为0表示禁用持久连接和连接池。当客户端请求时建立新连接,完成请求后立即关闭连接。通常仅在调试或负载很低的情况下使用。
1(默认)表示启用一个持久链接池(或者在非线程型平台上使用一个单独的LAMP风格的持久连接)。应当在绝大多数情况下使用。
定义一个SQL预处理语句
DBDPrepareSQL "SQL statement" label
server config, virtual host
扩展(E)
mod_dbd
对于认证之类反复使用同一个SQL语句的模块,通过在启动时预处理指定的SQL语句而不是在每次使用时处理可以获得的最佳性能。该指令可以定义一个SQL预处理语句并为其分配一个标签(label)。
指定一个数据库驱动程序
DBDriver name
server config, virtual host
扩展(E)
mod_dbd
通过名字选择一个apr_dbd驱动程序。该驱动程序必须已经安装在你的系统上了(在Unix上是一个共享对象,在Windows上是一个动态连接库)。比如:DBDriver mysql表示选择apr_dbd_mysql.so中的MySQL驱动程序,而DBDriver pgsql则表示选择apr_dbd_pgsql.so中的PostgreSQL驱动程序。
apr dbd mysql.so_mod_dbd相关推荐
- DBD::mysql::db do failed: Table cl_access was locked with a READ lock and can't be updated
DBD::mysql::db do failed: Table 'acl_access' was locked with a READ lock and can't be updated at /us ...
- 遭遇DBD::mysql::dr::imp_data_size unexpectedly
最近的MHA验证时,遭遇了DBD::mysql::dr::imp_data_size unexpectedly这个错误.而DBD这个包已经是安装过了的.下面是这个问题的描述和解决方案. 1.故障描述 ...
- 【MAC】Mac下配置perl的DBD::MySQL模块
1.概述 pt-variable-advisor是pt工具集的一个子工具,主要用来诊断你的参数设置是否合理.我想运行这个结果报错如下 (base) lcc@lcc percona-toolkit-3. ...
- DBD::mysql的安装
其实已经装过很多次了,不过以前从来没有遇到今天这样的问题.虽然其实所有的环境配置都是一样的:RHEL4, Perl 5.8.5, MySQL4.1.8. 以前也遇到过报错信息为找不到mysql_con ...
- perl dbd mysql 5.7_perl-DBD-MySQL 无法安装
问题描述: 在使用innobackupex 中出现了错误 -bash-4.1$ innobackupex --defaults-file=./my_3304.cnf --user=xtrabk --p ...
- cpan mysql dbd_Perl中DBI、DBD::mysql模块的安装
使用的软件版本 DBI-1.609.tar.gz DBD-mysql-4.012.tar.gz 建议使用以上版本搭配,否则可能连接mysql错误 一.DBI的安装 wget http://www.cp ...
- dbd mysql db_mysqlhotcopy备份时出现“DBD::mysql::db do faile\问题-huifeideluotuo-ChinaUnix博客...
今天早上去检查mysql备份的信息,我这边是用 mysql-zrm 软件进行备份的,在检查备份log的时候,发现有下面这样的错误信息: BackupSet1:backup:INFO: PHASE ST ...
- dbd mysql dbi_MySQL的DBI/DBD简明安装手册
任何相关的软件包可从http://mysql.com/download_perl.html下载.0WA ^r |0 建议您首先安装data-dumper-?.??.tar.gz:(?.??是版本号,现 ...
- dbd mysql_解决无法安装DBD::mysql模块
转载自:http://www.php-oa.com/2010/10/29/perl-mysql-%e7%9a%84%e6%a8%a1%e5%9d%97%e4%b8%8d%e8%83%bd%e5%ae% ...
最新文章
- PyCharm导入numpy包遇到的问题
- ubuntu常用配置整理
- 预备作业02 20162316刘诚昊
- 计算机二级mysql是什么_计算机二级mysql考什么内容?
- SpringBootTest测试类报错:Suppressed: java.lang.IllegalStateException: Unable to find a @SpringBootCon
- python压缩视频_如何压缩视频大小?
- python 三角形雷达图,python 画雷达图
- 在word中做复选框打对勾钩
- 什么软件测试情侣头像,情侣头像另一半查找器
- 是java运行时环境的缩写,java运行环境的英文缩写
- mac +xcode 下WebDriverAgent环境配置
- 【数据异常校验】T检验或T测试(T-test)
- Android user版通过adb_enable开启adb 调试 不提示对话框
- 反思前行——工作后第一个模块复盘总结
- synchronized,ReentrantLock、ReentrantReadWriteLock和StampedLock
- xampp+phpstorm使用xdebug
- 文件名 目录名或卷标语法不正确 java_java.io.FileNotFoundException:文件名、目录名或卷标语法不正确...
- java 消除魔鬼数字方法_消除Java详细信息的简便方法
- 计算机硬盘能否做u盘用怎么用,U盘能当电脑硬盘用么
- 【综合案例】信用评分模型开发
热门文章
- 计算思维(美国CMU周以真教授)
- 中国品牌亮相第六届加拿大服装纺织品采购展
- 为什么服务网页打开需要很久,点击之后计算机在处理什么,为什么我打开电脑桌面全部显示出来后要等很久才能打开连接.doc...
- 秘猿发布企业级开源区块链产品CITA
- 证件照背景颜色怎么用手机换
- vs2017旗舰版_2017年的所有旗舰手机都有明显的妥协。 这是他们告诉我们有关设计的信息。...
- 龙ol服务器维护补偿boss,《龙OL》12月17日更新公告
- windows2003 升级sp1,sp2 产品密匙无效
- 从“Real如我”来看当前社交APP开发-深圳积木创意科技
- DataWhale活动-二手车价格预测 task3