Linux下Mysql的odbc配置(修改網上博文) - 林茂枝 - 部落格園
Linux下Mysql的odbc配置(修改網上博文)
在安裝配置之前,需要先大概瞭解一下MyODBC的架構. MyODBC體繫結構建立在5個組件上,如所示:
Driver Manager:
負責管理應用程式和驅動程式間的通訊,主要功能包括:解析DSN (資料來源名稱,ODBC的資料來源名稱在ODBC.INI檔案中配置),載入和卸載驅動程式,處理ODBC調用,將其傳遞給驅動程式.
Connector/ODBC(MyODBC驅動程式):
實現ODBC API所提供的功能,它負責處理ODBC函數調用,將SQL請求提交給MySQL伺服器,並將結果返回給應用程式.
ODBC.INI
ODBC.INI是ODBC設定檔,記錄了串連到伺服器所需的驅動資訊和資料庫資訊。Driver Manager將使用它來確定載入哪個驅動程式(使用資料來源名DSN)。驅動程式將根據指定的DSN來讀取串連參數。
在Linux下配置mysql ODBC需要有以下步驟:
1. 安裝Driver Manager ,本案例使用unixODBC來作為Driver Manager.
2. 安裝MySQL驅動程式,本案例使用Connector/ODBC.
3. 配置ODBC.INI
第一步:下載安裝包.
需要下載兩個安裝包unixODBC 2.3.0和mysql Connector/ODBC 3.51
unixODBC源碼包:ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.0.tar.gz
第二步
http://dev.mysql.com/downloads/connector/odbc/3.51.html%23downloads
選擇
版本:5.1.11
平台:Oracle&Red Hat Linux6
下載:mysql-connector-odbc-5.1.11-linux-el6-x86-64bit.tar.gz
第二步:安裝unixODBC
tar zxvf unixODBC-2.3.0.tar.gz cd unixODBC-2.3.0 ./configure --prefix=/usr/local/unixODBC-2.3.0 --includedir=/usr/include --libdir=/usr/local/lib -bindir=/usr/bin --sysconfdir=/usr/local/etc make make install |
安裝完成後,可以在/usr/bin目錄下有下面的檔案
-rwxr-xr-x 1 root root 75312 Nov 1 16:22 odbcinst
-rwxr-xr-x 1 root root 10922 Nov 1 16:22 odbc_config
-rwxr-xr-x 1 root root 37650 Nov 1 16:22 iusql
-rwxr-xr-x 1 root root 44400 Nov 1 16:22 isql
-rwxr-xr-x 1 root root 95903 Nov 1 16:22 dltest
在/usr/local/lib目錄下面有這些檔案
-rwxr-xr-x 1 root root 422955 Nov 1 16:22 libodbcinst.so.1.0.0
lrwxrwxrwx 1 root root 20 Nov 1 16:22 libodbcinst.so.1 -> libodbcinst.so.1.0.0
lrwxrwxrwx 1 root root 20 Nov 1 16:22 libodbcinst.so -> libodbcinst.so.1.0.0
-rwxr-xr-x 1 root root 981 Nov 1 16:22 libodbcinst.la
-rwxr-xr-x 1 root root 1691572 Nov 1 16:22 libodbc.so.1.0.0
lrwxrwxrwx 1 root root 16 Nov 1 16:22 libodbc.so.1 -> libodbc.so.1.0.0
lrwxrwxrwx 1 root root 16 Nov 1 16:22 libodbc.so -> libodbc.so.1.0.0
-rwxr-xr-x 1 root root 957 Nov 1 16:22 libodbc.la
-rwxr-xr-x 1 root root 489405 Nov 1 16:22 libodbccr.so.1.0.0
lrwxrwxrwx 1 root root 18 Nov 1 16:22 libodbccr.so.1 -> libodbccr.so.1.0.0
lrwxrwxrwx 1 root root 18 Nov 1 16:22 libodbccr.so -> libodbccr.so.1.0.0
-rwxr-xr-x 1 root root 969 Nov 1 16:22 libodbccr.la
第三步:安裝mysql Connector/ODBC
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/local/lib
cd ../
cd bin
1、註冊驅動
./myodbc-installer -d -a -n "MySQL ODBC 5.1 Driver" \
-t "DRIVER=/usr/lib/libmyodbc5.so;SETUP=/usr/lib/libmyodbc5.so"
第四步:配置ODBC.INI:
編輯檔案/usr/local/etc/odbc.ini,把下面的內容加上去.需要注意一下,不同版本mysql驅動的配置方法,有細微差異. 本案例使用的版本是mysql Connector 3.51
[mysqlDSN]
Driver = /usr/local/lib/libmyodbc5.so
Description = MyODBC 5 Driver DSN
SERVER = 172.31.108.133
PORT = 3306
USER = root
Password = 123456
Database = PM
OPTION = 3
SOCKET =
第五步:設定環境變數
export DBCINI=/usr/local/etc/odbc.ini
export DBCSYSINI=/usr/local/etc
第六步:重啟電腦
reboot
第七步:測試ODBC配置是否成功
Isql是unixODBC帶的一個ODBC用戶端訪問工具,使用isql +資料來源名來訪問目標資料庫.
如果ODBC配置正確,會顯示下面的介面.在SQL>提示符下輸入SQL語句查詢資料庫.
# isql mysqlDSN
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
參考源文http://space.itpub.net/81/viewspace-710064
實施的時候發現mysql Connector/ODBC版本不一致,修改了下。
在安裝配置之前,需要先大概瞭解一下MyODBC的架構. MyODBC體繫結構建立在5個組件上,如所示:
Driver Manager:
負責管理應用程式和驅動程式間的通訊,主要功能包括:解析DSN (資料來源名稱,ODBC的資料來源名稱在ODBC.INI檔案中配置),載入和卸載驅動程式,處理ODBC調用,將其傳遞給驅動程式.
Connector/ODBC(MyODBC驅動程式):
實現ODBC API所提供的功能,它負責處理ODBC函數調用,將SQL請求提交給MySQL伺服器,並將結果返回給應用程式.
ODBC.INI
ODBC.INI是ODBC設定檔,記錄了串連到伺服器所需的驅動資訊和資料庫資訊。Driver Manager將使用它來確定載入哪個驅動程式(使用資料來源名DSN)。驅動程式將根據指定的DSN來讀取串連參數。
在Linux下配置mysql ODBC需要有以下步驟:
1. 安裝Driver Manager ,本案例使用unixODBC來作為Driver Manager.
2. 安裝MySQL驅動程式,本案例使用Connector/ODBC.
3. 配置ODBC.INI
第一步:下載安裝包.
需要下載兩個安裝包unixODBC 2.3.0和mysql Connector/ODBC 3.51
unixODBC源碼包:ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.0.tar.gz
第二步
http://dev.mysql.com/downloads/connector/odbc/3.51.html%23downloads
選擇
版本:5.1.11
平台:Oracle&Red Hat Linux6
下載:mysql-connector-odbc-5.1.11-linux-el6-x86-64bit.tar.gz
第二步:安裝unixODBC
tar zxvf unixODBC-2.3.0.tar.gz cd unixODBC-2.3.0 ./configure --prefix=/usr/local/unixODBC-2.3.0 --includedir=/usr/include --libdir=/usr/local/lib -bindir=/usr/bin --sysconfdir=/usr/local/etc make make install |
安裝完成後,可以在/usr/bin目錄下有下面的檔案
-rwxr-xr-x 1 root root 75312 Nov 1 16:22 odbcinst
-rwxr-xr-x 1 root root 10922 Nov 1 16:22 odbc_config
-rwxr-xr-x 1 root root 37650 Nov 1 16:22 iusql
-rwxr-xr-x 1 root root 44400 Nov 1 16:22 isql
-rwxr-xr-x 1 root root 95903 Nov 1 16:22 dltest
在/usr/local/lib目錄下面有這些檔案
-rwxr-xr-x 1 root root 422955 Nov 1 16:22 libodbcinst.so.1.0.0
lrwxrwxrwx 1 root root 20 Nov 1 16:22 libodbcinst.so.1 -> libodbcinst.so.1.0.0
lrwxrwxrwx 1 root root 20 Nov 1 16:22 libodbcinst.so -> libodbcinst.so.1.0.0
-rwxr-xr-x 1 root root 981 Nov 1 16:22 libodbcinst.la
-rwxr-xr-x 1 root root 1691572 Nov 1 16:22 libodbc.so.1.0.0
lrwxrwxrwx 1 root root 16 Nov 1 16:22 libodbc.so.1 -> libodbc.so.1.0.0
lrwxrwxrwx 1 root root 16 Nov 1 16:22 libodbc.so -> libodbc.so.1.0.0
-rwxr-xr-x 1 root root 957 Nov 1 16:22 libodbc.la
-rwxr-xr-x 1 root root 489405 Nov 1 16:22 libodbccr.so.1.0.0
lrwxrwxrwx 1 root root 18 Nov 1 16:22 libodbccr.so.1 -> libodbccr.so.1.0.0
lrwxrwxrwx 1 root root 18 Nov 1 16:22 libodbccr.so -> libodbccr.so.1.0.0
-rwxr-xr-x 1 root root 969 Nov 1 16:22 libodbccr.la
第三步:安裝mysql Connector/ODBC
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/local/lib
cd ../
cd bin
1、註冊驅動
./myodbc-installer -d -a -n "MySQL ODBC 5.1 Driver" \
-t "DRIVER=/usr/lib/libmyodbc5.so;SETUP=/usr/lib/libmyodbc5.so"
第四步:配置ODBC.INI:
編輯檔案/usr/local/etc/odbc.ini,把下面的內容加上去.需要注意一下,不同版本mysql驅動的配置方法,有細微差異. 本案例使用的版本是mysql Connector 3.51
[mysqlDSN]
Driver = /usr/local/lib/libmyodbc5.so
Description = MyODBC 5 Driver DSN
SERVER = 172.31.108.133
PORT = 3306
USER = root
Password = 123456
Database = PM
OPTION = 3
SOCKET =
第五步:設定環境變數
export DBCINI=/usr/local/etc/odbc.ini
export DBCSYSINI=/usr/local/etc
第六步:重啟電腦
reboot
第七步:測試ODBC配置是否成功
Isql是unixODBC帶的一個ODBC用戶端訪問工具,使用isql +資料來源名來訪問目標資料庫.
如果ODBC配置正確,會顯示下面的介面.在SQL>提示符下輸入SQL語句查詢資料庫.
# isql mysqlDSN
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
參考源文http://space.itpub.net/81/viewspace-710064
實施的時候發現mysql Connector/ODBC版本不一致,修改了下。