mysql odbc 源码安装_26.1.7. 在Unix平台上从源码版本安装MyODBC
26.1.7. 在Unix平台上从源码版本安装MyODBC
26.1.7.1. 要求
·MySQL客户端库以及MySQL 4.0.0或更高版本的包含文件。(最好是MySQL
4.0.16或更高版本)。应满足上述要求,这是因为MyODBC需要用到该版本以上的库才提供的新调用和结构。要想获得客户端库和包含文件,请访问http://dev.mysql.com/downloads/。
·必须使用“--enable-thread-safe-client”选项配置MySQL库。Libmysqlclient是作为共享库安装的。
·必须安装下述Unix ODBC驱动管理器之一:
ounixodbc
Alpha 3或更高版本(http://www.unixodbc.org)
·如果使用了未编译在MySQL客户端库中的字符集(默认字符集为: latin1 big5 czech
euc_kr gb2312 gbk sjis tis620 ujis),就需要从字符集目录下将mysql字符定义安装到SHAREDIR中(默认情况下位于/usr/local/mysql/share/mysql/charsets)。如果在相同机器上安装了MySQL,它们应位于恰当位置。
一旦完成了所有所需文件的安装,将源码文件解包到单独目录下,并按照下面给出的说明进行操作。
26.1.7.2. 典型配置选项
使用configure脚本,能够对你所创建MyODBC的配置方式进行多种控制。典型情况下,可在“configure”命令行使用选项完成该配置操作。也可以使用环境变量来影响配置。要想了解“configure”命令支持的选项列表和环境变量,可运行下述命令:
shell> ./configure --help
下面介绍了一些常用的“configure”选项。
1.要想编译MyODBC,须使用“--with-mysql-path=DIR”选项来提供MySQL客户端库文件和包含文件路径,其中,“DIR”是MySQL的安装目录。
可通过运行“DIR/bin/mysql_config”来确定MySQL编译选项。
2.为ODBC驱动管理器(iodbc或unixobc)提供标准的头文件和库文件路径。
·如果你正在使用iodbc,而且iodbc未安装在其默认位置(/usr/local),可能需要使用“--with-iodbc=DIR”选项,其中,“DIR”是iodbc的安装目录。
如果iodbc头文件未位于DIR/include目录下,可使用“--with-iodbc-includes=INCDIR”选项指定它们的位置。
上面所述也适用于库文件。如果库文件未位于DIR/lib目录下,可使用“--with-iodbc-libs=LIBDIR”选项。
·如果你正在使用unixODBC,可使用“--with-unixODBC=DIR”选项(区分大小写),让configure寻找unixODBC而不是默认的iodbc,其中,“DIR”是unixODBC的安装目录。
如果unixODBC头文件和库文件未位于目录DIR/include和DIR/lib下,可使用“--with-unixODBC-includes=INCDIR”和“--with-unixODBC-libs=LIBDIR”选项。
3.或许你也希望指定不同于“/usr/local”的安装前缀。例如,要想将MyODBC驱动安装到“/usr/local/odbc/lib”目录下,可使用“--prefix=/usr/local/odbc”选项。
最终的配置命令应与下面给出的相似:
shell> ./configure --prefix=/usr/local \
--with-iodbc=/usr/local \
--with-mysql-path=/usr/local/mysql
26.1.7.3. 线程安全客户端
为了将驱动程序与MySQL线程安全客户端库libmysqlclient_r.so或libmysqlclient_r.a链接起来,必须指定下述configure选项:
--enable-thread-safe
也可以使用下述选项禁止它:
--disable-thread-safe
使用该选项,能够通过mysql线程安全客户端库libmysqlclient_r.so(扩展名与操作系统有关)的链接,创建驱动程序线程安全库libmyodbc3_r.so。
在配置线程安全选项时,如果出现了配置错误,应检查config.log,检查错误是否是因系统中缺少线程库而导致的,如果是,使用LIBS选项提供一个,即
LIBS="-lpthread" ./configure ..
26.1.7.4. 共享或静态选项
可以使用下述选项启用或禁止共享和静态选项:
--enable-shared[=yes/no]
--disable-shared
--enable-static[=yes/no]
--disable-static
26.1.7.5. 启用调试信息
默认情况下,所有的二进制分发版均会被创建为非调试版(采用“--without-debug”进行配置)。
要想启用调试信息,请使用源码分发版创建驱动程序,并在运行“configure”时使用“--with-debug”选项。
26.1.7.6. 允许文档功能
该选项仅能用于BK克隆树,而不是一般的源码分发版。
默认情况下,驱动程序是使用“--without-docs”创建的。如果希望在正常创建过程中观察文档信息,可使用下述选项进行配置:
--with-docs
26.1.7.7. 创建和编译
要想创建驱动程序库,仅需执行“make”,该命令能完成所有事项。shell> make
如果出现错误,更正后,继续执行创建进程。如果无法创建,请发送详细的电子邮件至
26.1.7.8. 创建共享库
在大多数平台上,默认情况下,MySQL不会创建或支持“.so”(共享)客户端库,这是因为,创建共享库在过去造成过很多问题。
在这种情况下,你可以下载MySQL分发版,并使用以下选项进行配置:
--without-server --enable-shared
要想创建共享驱动程序库,必须为“configure”指定“--enable-shared”选项。默认情况下,“configure”不启用该选项。
如果使用“--disable-shared”选项进行了配置操作,可使用下述命令,从静态库创建“.so”文件。
shell> cd MyODBC-3.51.01
shell> make
shell> cd driver
shell> CC=/usr/bin/gcc \
$CC -bundle -flat_namespace -undefined error \
-o .libs/libmyodbc3-3.51.01.so \
catalog.o connect.o cursor.o dll.o error.o execute.o \
handle.o info.o misc.o myodbc3.o options.o prepare.o \
results.o transact.o utility.o \
-L/usr/local/mysql/lib/mysql/ \
-L/usr/local/iodbc/lib/ \
-lz -lc -lmysqlclient -liodbcinst
如果你正在使用unixODBC而不是iODBC,务必将“-liodbcinst”更改为“-lodbcinst”,并相应地配置库路径。
这样,就创建了libmyodbc3-3.51.01.so文件,并将其放在“.libs”目录下。将该文件拷贝到MyODBC库目录下(/usr/local/lib,或使用“--prefix”提供的安装目录下的“lib”目录)。
shell> cd .libs
shell> cp libmyodbc3-3.51.01.so /usr/local/lib
shell> cd /usr/local/lib
shell> ln -s libmyodbc3-3.51.01.so libmyodbc3.so
要想创建线程安全驱动程序库:
shell> CC=/usr/bin/gcc \
$CC -bundle -flat_namespace -undefined error
-o .libs/libmyodbc3_r-3.51.01.so
catalog.o connect.o cursor.o dll.o error.o execute.o
handle.o info.o misc.o myodbc3.o options.o prepare.o
results.o transact.o utility.o
-L/usr/local/mysql/lib/mysql/
-L/usr/local/iodbc/lib/
-lz -lc -lmysqlclient_r -liodbcinst
26.1.7.9. 安装驱动库
要想安装驱动程序库,请执行下述命令:
shell> make install
该命令将安装下述库集合之一:
对于MyODBC 3.51:
·libmyodbc3.so
·libmyodbc3-3.51.01.so,其中,3.51.01是驱动程序的版本
·libmyodbc3.a
对于线程安全MyODBC 3.51:
·libmyodbc3_r.so
·libmyodbc3-3_r.51.01.so
·libmyodbc3_r.a
对于MyODBC 2.5.0:
·libmyodbc.so
·libmyodbc-2.50.39.so,其中,2.50.39是驱动程序的版本
·libmyodbc.a
关于创建进程的更多信息,请参阅与源码分发版一起提供的INSTALL文件。注意,如果你试图使用Sun的“make”,可能会以错误结束。从另一方面来说,GNU
gmake在所有平台上均能良好工作。
26.1.7.10. 在Unix平台上测试MyODBC
要想与你创建的库一起运行分发版中提供的示例,可执行:
shell> make test
首先,务必在odbc.ini中配置DSN
'myodbc3',并将环境变量ODBCINI指向正确的odbc.ini文件;同时MySQL服务器应处于运行状态。在驱动分发版中,可找到一个示例用odbc.ini文件。
你甚至可以更改示例/运行示例脚本,以命令行参数的形式将所需的DSN、UID和PASSWORD值传递给示例。
26.1.7.11. Mac OS X注意事项
要想在Mac OS X (Darwin)环境下创建驱动程序,可使用下述configure示例:
shell> ./configure --prefix=/usr/local
--with-unixODBC=/usr/local
--with-mysql-path=/usr/local/mysql
--disable-shared
--enable-gui=no
--host=powerpc-apple
该命令假定unixODBC和MySQL均安装在默认位置。如不然,请进行相应配置。
在 Mac OS X环境下,“--enable-shared”选项将默认创建“.dylib”文件。你也可以采用下述方式创建“.so”文件:
shell> make
shell> cd driver
shell> CC=/usr/bin/gcc \
$CC -bundle -flat_namespace -undefined error
-o .libs/libmyodbc3-3.51.01.so *.o
-L/usr/local/mysql/lib/
-L/usr/local/iodbc/lib
-liodbcinst -lmysqlclient -lz -lc
要想创建线程安全驱动程序库:
shell> CC=/usr/bin/gcc \
$CC -bundle -flat_namespace -undefined error
-o .libs/libmyodbc3-3.51.01.so *.o
-L/usr/local/mysql/lib/
-L/usr/local/iodbc/lib
-liodbcinst -lmysqlclienti_r -lz -lc -lpthread
如果你正在使用unixODBC而不是iODBC,务必将“-liodbcinst”更改为“-lodbcinst”,并相应地配置库路径。
在Apple的GCC版本中,cc和gcc实际上均是gcc3的符号链接。
将该库拷贝到$prefix/lib目录下,并将symlink拷贝到libmyodbc3.so。
可以使用下述命令交叉检验输出的共享库属性:
shell> otool -LD .libs/libmyodbc3-3.51.01.so
26.1.7.12. HP-UX注意事项
要想在HP-UX 10.x或11.x环境下创建驱动程序,可使用下述configure示例:
如果使用cc:
shell> CC="cc" \
CFLAGS="+z" \
LDFLAGS="-Wl,+b:-Wl,+s" \
./configure --prefix=/usr/local
--with-unixodbc=/usr/local
--with-mysql-path=/usr/local/mysql/lib/mysql
--enable-shared
--enable-thread-safe
如果使用gcc:
shell> CC="gcc" \
LDFLAGS="-Wl,+b:-Wl,+s" \
./configure --prefix=/usr/local
--with-unixodbc=/usr/local
--with-mysql-path=/usr/local/mysql
--enable-shared
--enable-thread-safe
一旦创建了驱动程序,使用“chatr .libs/libmyodbc3.sl”交叉检查其属性,查看是否需要使用SHLIB_PATH环境变量的MySQL客户端库。对于静态版,忽略所有的共享库选项,并使用“--disable-shared”选项运行“configure”。
26.1.7.13. AIX注意事项
要想在AIX环境下创建驱动程序,可使用下述configure示例:
shell> ./configure --prefix=/usr/local
--with-unixodbc=/usr/local
--with-mysql-path=/usr/local/mysql
--disable-shared
--enable-thread-safe
注释: 关于在不同平台上创建和设置静态和共享库方式的更多信息,请参见跨平台使用静态和共享库。
mysql odbc 源码安装_26.1.7. 在Unix平台上从源码版本安装MyODBC相关推荐
- Myeclipse10.7安装git插件并将Java项目上传到码云(github)
注:本文来源:外匹夫的<Myeclipse10.7安装git插件并将Java项目上传到码云(github)> 一.先说说安装egit插件的步骤(安装egit不成功的原因主要是下载的egit ...
- mysql安装check requirements出错_超详细的MySQL8.0.17版本安装教程
下载MySQL MySQL的官网地址:https://www.mysql.com/. 如下图所示: 然后点击DOWNLOADS ==> Community,选择MySQL Community S ...
- 爱发php企业发卡网源码_爱发个人版自动发卡平台PHP开源源码【官方正版】
爱发个人版自动发卡平台PHP开源网站源码 是我官方研发出个人版自动发卡平台系统 演示站:http://ka.yc88.net 备用:http://php2.a8tg.com/ 后台:http://ph ...
- Ubuntu14.04安装与卸载ROS(避坑教程)配kinetic版本安装官方网址
安装 ROS indigo 版本支持 Ubuntu14.04 版本 在下载之前,建议你先信任源换成国内的地址,详细请参考鄙人的另一篇博文添加链接描述 这样可以大大提高下载速度 设置您的sources. ...
- ubuntu20.04安装flash插件(2022年版史上最简单flash插件安装教程)
安装flash插件 方法1 方法2 方法3 1.进入flash官方[flash下载](https://www.flash.cn/) 2.下载解压 3.打开控制台进入解压文件的目录 4.依次执行两条语句 ...
- sqoop2 mysql导入hdfs_Sqoop2入门之导入关系型数据库数据到HDFS上(sqoop2-1.99.4版本)
sqoop2-1.99.4和sqoop2-1.99.3版本操作略有不同:新版本中使用link代替了老版本的connection,其他使用类似. sqoop2-1.99.4环境搭建参见:Sqoop2环境 ...
- kali安装python gui_黄聪:史上最详细的kali安装教程没有之一
首先在vm里面新建虚拟机,直接选择典型,然后下一步. 1 2 然后到了这一步,选择中间的安装程序光盘镜像文件,然后去文件里面找你自己下载的镜像,这时候可能系统会出现无法检测此光盘镜像中的操作系统,没关 ...
- 无线网卡安装后显示无服务器,台式机插上USB无线网卡并且驱动安装完毕,但是仍然无法连接无线网络,甚至无法搜索到无线信号,什么原因...
原因:可能没有启动无线服务,导致电脑上的无线适配器无法访问Windows的网络连接.解决方法如下: 1.开始菜单打开运行选项. 2.在打开出写入代码"services.msc " ...
- linux mysql odbc驱动安装_MySQL ODBC 驱动安装
阅读目录 一.在线安装 1.yum在线安装驱动 2.配置驱动 3.测试连接 二.编译安装 1.MySQL创建测试用户和测试库 2.安装驱动 3.配置驱动 4.测试 一.在线安装 1.yum在线安装驱动 ...
最新文章
- Python的零基础超详细讲解(第十二天)-Python函数及使用
- C#让程序只运行一次实例
- API读取写入 ini文件内容的方法函数详解
- 数据结构栈队列链表数组
- 日常生活中怎样利用计算机的,数据存储与管理在日常生活中的三种方式
- .NET版开源日志框架Log4Net详解
- 前端学习(2953):idea里面使用vue插件
- 【写作技巧】毕业论文如何写目录?
- 使用Emit动态调用方法(技术原型)
- 基于JavaWeb的3D网上模板商城
- python写法教程_Python的表达式写法
- 第一个Java Web的小case
- 知识蒸馏 | 知识蒸馏的算法原理与其他拓展介绍
- 如何用教科书式的方法,着手分析一个行业?
- 计算机底层知识之内存
- MM32F3277空闲中断+DMA接收不定长数据
- 计算机系统权限授权,win 7 期间版操作系统的权限说明
- Java面试题:Applet和普通的Java应用程序有哪些区别?
- 通达信筹码单峰密集选股公式,突破筹码密集区发出信号
- 爬取豆瓣评分前50的电影信息