sqlrelay+oracle+php安装配置和应用
目录
一、SQL Relay是什么;
二、SQL Relay支持哪些数据库;
三、安装和配置;
1、安装Rudiments;
2、安装SQL Relay;
3、设置PHP;
4、修改SQL Relay的配置文件;
四、启动SQL Relay,并测试;
1、启动 SQL Relay;
2、使用SQL工具;
3、测试PHP;
++++++++++++++++++++++++++++++++++++++++++++++++++++++
正文
++++++++++++++++++++++++++++++++++++++++++++++++++++++
一、SQL Relay是什么?
SQL Relay是一个开源的数据库池连接代理服务器
二、SQL Relay支持哪些数据库?
* Oracle
* MySQL
* mSQL
* PostgreSQL
* Sybase
* MS SQL Server
* IBM DB2
* Interbase
* Sybase
* SQLite
* Lago
* ODBC
* MS Access
三、安装和配置;
不说废话了,开始安装SQL Relay,到 https://www.doczj.com/doc/4711506792.html,/ 去下载相应的软件
安装SQL Relay需要先安装Rudiments, 在 https://www.doczj.com/doc/4711506792.html,/download.html 可以找到
1、安装Rudiments:
# tar vxzf rudiments-0.28.2.tar.gz
# cd rudiments-0.28.2
# ./configure --prefix=/usr/local/rudiments
# make
# make install
至此,rudiments安装结束
2、安装SQL Relay:
# tar vxzf sqlrelay-0.36.4.tar.gz
# cd sqlrelay-0.36.4
# ./configure --prefix=/usr/local/sqlrelay --with-rudiments-prefix=/usr/local/rudiments --with-oracle-home=/home/oracle/product/9.2.0 --with-php-prefix=/usr/local/php4 --disable-mysql
(具体参数可用configure -h查看,因为sqlrelay default编译mysql,所以启动disable-mysql参数避免make时出错)
# make
# make install
安装结束,以上编译参数根据个人需要来设定,因为我同时需要Oracle SQLserver MySQL,所以才加了这么多参数的
3、设置PHP:
修改php.ini
extension_dir = "./"
把以上内容修改为:
extension_dir = "/usr/local/php4/lib/php/extensions/no-debug-non-zts-20050922"
根据PHP安装的路径来修改,并不是每个版本的PHP都是这个路径
在php.ini中添加如下内容
extension=sql_relay.so
4、修改SQL Relay的配置文件
# cd /usr/local/sqlrelay/etc
# cp sqlrelay.conf.example sqlrelay.conf
把sqlrelay.conf的内容改为:
rac配置如下
四、启动SQL Relay,并测试;
1、启动 SQL Relay
export ORACLE_HOME=/home/oracle/product/9.2.0
export PATH=$PATH:/usr/local/sqlrelay/bin:/home/oracle/product/9.2.0/bin
export TNS_ADMIN=/home/oracle/product/9.2.0/network/admin
# sqlr-start -id esal
[root@gzweb5 bin]# sqlr-start -id esal
Starting listener:
sqlr-listener -id esal -config /usr/local/sqlrelay/etc/sqlrelay.conf
Starting 1 connections to rac1 :
sqlr-connection-oracle8 -id esal -connectionid rac1 -config /usr/local/sqlrelay/etc/sqlrelay.conf
Starting 2 connections to rac2 :
sqlr-connection-oracle8 -id esal -connectionid rac2 -config /usr/local/sqlrelay/etc/sqlrelay.conf
sqlr-connection-oracle8 -id esal -connectionid rac2 -config /usr/local/sqlrelay/etc/sqlrelay.conf
Starting scaler:
sqlr-scaler -id esal -config /usr/local/sqlrelay/etc/sqlrelay.conf
cache manager already running.
Thanks to https://www.doczj.com/doc/4711506792.html, for sponsoring:
Clustered/Replicated database support.
Perl API.
Thanks to FeedLounge for sponsoring:
Query routing and filtering.
2、使用SQL工具:
# sqlrsh -id esal
可以直接输入SQL语句
停止SQL Relay:
# sqlr-stop esal
3、测试PHP:
写一个PHP文件,内容如下:
$con=sqlrcon_alloc("rac1,9000,"/tmp/msdetest.socket","cybercafe","zhongguoyidong",0,1);
$cur=sqlrcur_alloc($con);
sqlrcur_sendQuery($cur,"select * from mng_user);
for ($row=0; $row
) {
for ($col=0; $col
echo ",";
}
echo "
\n";
}
sqlrcur_free($cur);
sqlrcon_free($con);
?>
执行这个PHP文件,看看能不能出现数据,出现数据说明安装成功