Linux下Mysql的odbc配置(修改网上博文)

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版本不一致,修改了下。

原文地址:https://www.cnblogs.com/lexus/p/2948671.html