linux mysql 5.x数据库odbc连接
为什么要写这篇文章呢?因为之前下了血本在找教程,CSDN上找了,教程也是写的不清不楚,后面通过自己的努力摸索尝试,终于解决了,所以誓死要写成详细的文档,以便后者之需。
安装GCC,可以通过rpm -qa |grep gcc 检查是否已经安装了gcc。若没有,则通过该 yum install gcc命令安装
上传安装包unixODBC、mysql Connector
安装ODBC
[root@node1 pack]# tar -zxvf unixODBC-2.3.0.tar.gz
[root@node1 pack]# cd unixODBC-2.3.0/
[root@node1 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
[root@node1 unixODBC-2.3.0]# make
[root@node1 unixODBC-2.3.0]# make install
安装完成之后:
/usr/bin下有这些文件:
odbcinst
odbc_config
iusql
isql
dltest
/usr/local/lib下有这些文件:
-rwxr-xr-x. 1 root root 969 5月 7 09:42 libodbccr.la
lrwxrwxrwx. 1 root root 18 5月 7 09:42 libodbccr.so -> libodbccr.so.1.0.0
lrwxrwxrwx. 1 root root 18 5月 7 09:42 libodbccr.so.1 -> libodbccr.so.1.0.0
-rwxr-xr-x. 1 root root 491080 5月 7 09:42 libodbccr.so.1.0.0
-rwxr-xr-x. 1 root root 981 5月 7 09:42 libodbcinst.la
lrwxrwxrwx. 1 root root 20 5月 7 09:42 libodbcinst.so -> libodbcinst.so.1.0.0
lrwxrwxrwx. 1 root root 20 5月 7 09:42 libodbcinst.so.1 -> libodbcinst.so.1.0.0
-rwxr-xr-x. 1 root root 563520 5月 7 09:42 libodbcinst.so.1.0.0
-rwxr-xr-x. 1 root root 957 5月 7 09:42 libodbc.la
lrwxrwxrwx. 1 root root 16 5月 7 09:42 libodbc.so -> libodbc.so.1.0.0
lrwxrwxrwx. 1 root root 16 5月 7 09:42 libodbc.so.1 -> libodbc.so.1.0.0
-rwxr-xr-x. 1 root root 2144768 5月 7 09:42 libodbc.so.1.0.0
安装mysql connect驱动
[root@node1 pack]# tar -zxvf mysql-connector-odbc-5.1.11-linux-glibc2.3-x86-64bit.tar.gz
[root@node1 pack]# cd mysql-connector-odbc-5.1.11-linux-glibc2.3-x86-64bit/lib
[root@node1 lib]# cp libmyodbc5.so /usr/local/lib
进入到mysql的解压文件的bin目录下,进行注册驱动:
[root@node1 bin]# pwd
/pack/mysql-connector-odbc-5.1.11-linux-glibc2.3-x86-64bit/bin
[root@node1 bin]# ./myodbc-installer -d -a -n "MySQL ODBC 5.1 Driver" -t "DRIVER=/usr/lib/libmyodbc5.so;SETUP=/usr/lib/libmyodbc5.so"
./myodbc-installer: error while loading shared libraries: libodbc.so.1: cannot open shared object file: No such file or directory
###这里的报错是因为动态库没加载进来,解决方法:
[root@node1 bin]# echo "/usr/local/lib" >> /etc/ld.so.conf
[root@node1 bin]# ldconfig
再执行注册:
[root@node1 bin]# ./myodbc-installer -d -a -n "MySQL ODBC 5.1 Driver" -t "DRIVER=/usr/lib/libmyodbc5.so;SETUP=/usr/lib/libmyodbc5.so"
Success: Usage count is 1 ####这一步说明注册成功。
现在配置odbc.ini文件
文件位置可用改命令查看:
[root@node1 bin]# odbcinst -j
unixODBC 2.3.0
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini ###这个文件就是配置文件
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
配置文件odbc.ini参数。
[mysqltest]
Driver = /usr/local/lib/libmyodbc5.so
Description = MyODBC 5 Driver DSN
SERVER = 192.168.10.101
PORT = 3306
USER = root
Password = root
Database = mysql
OPTION = 3
charset = UTF8
[root@node1 bin]# cat >>/usr/local/etc/odbc.ini<<EOF
> [mysqltest]
> Driver = /usr/local/lib/libmyodbc5.so
> Description = MyODBC 5 Driver DSN
> SERVER = 192.168.10.101
> PORT = 3306
> USER = root
> Password = root
> Database = mysql
> OPTION = 3
> charset = UTF8
> EOF
配置完了之后,执行isql 连接名
[root@node1 bin]# service mysql start
Starting MySQL.. SUCCESS!
[root@node1 bin]# isql mysqltest
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
浙公网安备 33010602011771号