A-A+

利用unixodbc连接mysql数据库

2016年02月18日 LINUX, 服务 暂无评论 阅读 2,648 次
1:先安装unixodbc --建议用源码
./configure --prefix=/usr/local/unixODBC --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc
make
make install
其它一些参数说明 --enable-gui=no    #不使用qt画图,一般生产环境者是ssh 登陆,所以用不上界面。 --enable-iconv=yes --with-iconv-char-enc=GB18030   #这个是因为后面遇到乱码的问题,尝试用这个编译,但没起作用,不知道用来干嘛 测试:
#dbcinst  -j  #查看下环境
unixODBC 2.2.14
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
2: 安装对应的数据库驱动。 比如mysql 对应 libmyodbc。 安装完后查看下库包含的文件就可以找到对应的lib 此次强烈建议用源码安装。ubuntu 安装很简单apt-get就好。rpm 包会有依赖问题,YUM 有些包会冲突。
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
./myodbc-installer -d -a -n "mysql" -t "DRIVER=/usr/lib/libmyodbc5.so;SETUP=/usr/lib/libmyodbc5.so"
--注册完后odbcisnt.ini里面会有配置,名字可做修改以便odbc.ini 使用 ::安装过程中可能会出现找不到lib库的问题,解决办法:ln一个对应的名字就可以 另外mysqlodbc 驱动一定要下对应的版本,直接去http://dev.mysql.com/downloads/connector/odbc/#downloads选择对应的版本 否则会报驱动对应的lib库找不到。即便加了ld也是一样。 另外如果有出现: Driver]Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled) 请下载mysql-connector-odbc-3.51.30-linux-rhel5-x86-32bit 这个版本安装,这个版本不支持Trace,所以连接的时候有报如下提示,可以选择删除该选项。 [MYODBCUtilReadDataSource.c][287][ERROR] Unknown attribute (Trace). [MYODBCUtilReadDataSource.c][287][ERROR] Unknown attribute (TraceFile). 配置例子: odbcinst.ini(配置驱动)
[mysql]
Driver=/usr/local/lib/libmyodbc5.so
SETUP=/usr/local/lib/libmyodbc5.so
UsageCount=1
odbc.ini(配置连接)
[mysql]
Description = The Database for mysql
Trace = On
TraceFile = stderr
Driver = mysql
SERVER = 192.168.1.xxx
USER = root
PASSWORD = root
PORT = 3306
DATABASE = test
最后测试:
#isql  mysql
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+ 
在这里面可以做查询,删除,插入等操作。配合终端可以验证是否会乱码。 utf8乱码问题,需要指定对应的字符 charset = utf8   采用yum方式安装的话就比较简单了。 yum -y install unixODBC unixODBC-devel  mysql-connector-odbc 然后编写/etc/odbcinsc.ini(参照上面文件)
标签:

给我留言