公司内部用的SAP data service(linux,IP:136)作为DS服务器,使用ODBC连接另外一台mysql数据库服务器(linux IP:129)。所以在136上安装mysql odbc。
要安装mysql odbc,前提是首先安装unixODBC。可以是rpm安装,但有依赖的rpm,比较麻烦(那当然使用yum就另当别论了),也可以是源码编译安装。
一、安装unixODBC
这里选择编译安装(说明:之前有安装rpm包,也不会影响,configure的时候可以自定义安装目录,版本2.3.0)
tar zxvf unixODBC-2.3.0.tar.gz
cd unixODBC-2.3.0
./configure --prefix=/usr/local/lib --includedir=/usr/include --libdir=/usr/local/lib -bindir=/usr/bin --sysconfdir=/etc
make
make install
安装完成之后,生成相应的文件如下
ll /etc/*.ini
-rw-r--r--. 1 root root 233 Jul 7 18:03 /etc/odbc.ini
-rw-r--r--. 1 root root 292 Jul 7 18:59 /etc/odbcinst.ini
ll /usr/local/lib/
-rwxr-xr-x. 1 root root 969 Jul 8 09:11 libodbccr.la
lrwxrwxrwx. 1 root root 18 Jul 8 09:11 libodbccr.so -> libodbccr.so.1.0.0
lrwxrwxrwx. 1 root root 18 Jul 8 09:11 libodbccr.so.1 -> libodbccr.so.1.0.0
-rwxr-xr-x. 1 root root 516782 Jul 8 09:11 libodbccr.so.1.0.0
-rwxr-xr-x. 1 root root 981 Jul 8 09:11 libodbcinst.la
lrwxrwxrwx. 1 root root 20 Jul 8 09:11 libodbcinst.so -> libodbcinst.so.1.0.0
lrwxrwxrwx. 1 root root 20 Jul 8 09:11 libodbcinst.so.1 -> libodbcinst.so.1.0.0
-rwxr-xr-x. 1 root root 501979 Jul 8 09:11 libodbcinst.so.1.0.0
-rwxr-xr-x. 1 root root 957 Jul 8 09:11 libodbc.la
lrwxrwxrwx. 1 root root 16 Jul 8 09:11 libodbc.so -> libodbc.so.1.0.0
lrwxrwxrwx. 1 root root 16 Jul 8 09:11 libodbc.so.1 -> libodbc.so.1.0.0
-rwxr-xr-x. 1 root root 1861881 Jul 8 09:11 libodbc.so.1.0.0
ll -rt /usr/bin
-rwxr-xr-x. 1 root root 58632 Jul 8 09:11 isql
-rwxr-xr-x. 1 root root 127763 Jul 8 09:11 dltest
-rwxr-xr-x. 1 root root 84662 Jul 8 09:11 odbcinst
-rwxr-xr-x. 1 root root 50672 Jul 8 09:11 iusql
-rwxr-xr-x. 1 root root 14714 Jul 8 09:11 odbc_config
命令查看
odbcinst -j
unixODBC 2.3.0
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /etc/odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
同样,也有rpm安装和源码安装。rpm安装比较简单,但可能会有依赖的包。
源码安装在版本5.1之前需要configure、make及make install,5.1及之后的版本只需解压后拷贝库文件即可。
tar zxvf mysql-connector-odbc-5.1.11-linux-el6-x86-64bit.tar.gz
cd mysql-connector-odbc-5.1.11-linux-el6-x86-64bit\lib
cp libmyodbc5.so /usr/lib
cd ../bin
./myodbc-installer -d -a -n "MYSQL" -t "DRIVER=/usr/lib/libmyodbc5.so;SETUP=/usr/lib/libmyodbc5.so"
Success: Usage count is 1
执行完最后一步,查看odbcinst.ini
cat /etc/odbcinst.ini
[MYSQL]
Driver = /usr/lib/libmyodbc5.so
SETUP = /usr/lib/libmyodbc5.so
UsageCount = 1
说明:最后一步可以不做,可以按上例直接配置odbcinst.ini
三、配置odbc数据源[storefeedback]
Description = The Database for mysql
Trace = On
TraceFile = stderr
Driver = MYSQL
SERVER = *.129
USER = storefeedback
PASSWORD =
PORT = 3306
DATABASE = storefeedback300
CHARSET= UTF8
OPTION = 3
说明:
Driver为odbcinst.ini中的配置MYSQL,也可以使用/usr/lib/libmyodbc5.so代替,即可以不配置odbcinst.ini
Charset是字符集;
server是服务器主机名(可以解析)或IP;
其它的都好理解。
四、配置环境变量(可以添加到/etc/profile)
export ODBCSYSINI=/etc
export ODBCINI=/etc/odbc.ini
五、测试
isql -v storefeedback
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
参考:
http://blog.chinaunix.net/uid-27050514-id-3826624.html
http://blog.itpub.net/81/viewspace-710064/