文档首页
MySQL Connector/ODBC 开发人员指南
相关文档 下载本手册
PDF (US Ltr) - 1.7Mb
PDF (A4) - 1.7Mb


MySQL Connector/ODBC 开发人员指南  /  Connector/ODBC 安装  /  从 Unix 上的源代码分发构建 Connector/ODBC

4.5 从 Unix 上的源代码分发构建 Connector/ODBC

您需要以下工具才能在 Unix 上从源代码构建 MySQL

  • 有效的 ANSI C++ 编译器。已知 GCC 4.2.1 或更高版本、Sun Studio 12.1 或更高版本以及许多当前供应商提供的编译器都可以正常工作。

  • CMake。

  • MySQL 客户端库和包含文件。要获取客户端库和包含文件,请访问 https://dev.mysqlserver.cn/downloads/

  • 必须安装兼容的 ODBC 管理器。已知 Connector/ODBC 可与 iODBCunixODBC 管理器一起使用。有关更多信息,请参阅第 3.2 节“ODBC 驱动程序管理器”

  • 如果您使用的字符集未编译到 MySQL 客户端库中,请将 charsets 目录中的 MySQL 字符定义安装到 SHAREDIR(默认情况下为 /usr/local/mysql/share/mysql/charsets)。如果您在同一台机器上安装了 MySQL 服务器,则这些文件应该已经存在。有关字符集支持的更多信息,请参阅字符集、排序规则、Unicode

获得所有必需的文件后,将源文件解压缩到一个单独的目录中,然后使用以下命令运行 cmake

$> cmake -G "Unix Makefiles"

典型的 cmake 参数和选项

您可能需要通过将环境变量 MYSQL_INCLUDE_DIRMYSQL_LIB_DIRMYSQL_DIR 设置为适当的位置来帮助 cmake 找到 MySQL 头文件和库;例如

$> export MYSQL_INCLUDE_DIR=/usr/local/mysql/include
$> export MYSQL_LIB_DIR=/usr/local/mysql/lib
$> export MYSQL_DIR=/usr/local/mysql

运行 cmake 时,您可以在命令行中添加选项。以下是一些示例

  • -DODBC_INCLUDES=目录名:在系统 $PATH 中找不到 ODBC 包含目录时使用。

  • -DODBC_LIB_DIR=目录名:在系统 $PATH 中找不到 ODBC 库目录时使用。

  • -DWITH_UNIXODBC=1:启用 unixODBC 支持。iODBC 是在 Linux 平台上从源代码构建 Connector/ODBC 时默认使用的 ODBC 库。或者,可以通过将此选项设置为 1 来使用 unixODBC

  • -DMYSQLCLIENT_STATIC_LINKING=布尔值: 静态链接到 MySQL 客户端库。默认情况下选择与 MySQL 客户端库动态链接,也就是说,MYSQLCLIENT_STATIC_LINKING cmake 选项默认情况下为 FALSE(但是,Oracle 提供的 Connector/ODBC 二进制发行版静态链接到客户端库)。如果要静态链接到 MySQL 客户端库,请将此选项设置为 TRUE。另请参阅 -DMYSQLCLIENT_LIB_NAME=客户端库名(带扩展名) 选项的说明。

  • -DBUNDLE_DEPENDENCIES=布尔值:启用此选项可以将外部库运行时依赖项(例如 OpenSSL)与连接器一起安装。对于从 MySQL 客户端库继承的依赖项,只有当这些依赖项与客户端库本身捆绑在一起时,此选项才有效。v8.0.11 中添加的选项。

  • -DMYSQLCLIENT_LIB_NAME=客户端库名(带扩展名):MySQL 客户端库的位置。请参阅 MYSQLCLIENT_STATIC_LINKING 的说明。要静态链接到 MySQL 客户端库,请使用此选项提供用于静态链接的客户端库名称。如果要动态链接到 libmysqlclient.so 以外的 MySQL 客户端库,也请使用此选项。cmake 会在环境变量 MYSQL_LIB_DIR 指定的位置下查找客户端库;如果未指定该变量,则 cmake 会在环境变量 MYSQL_DIR 指定的文件夹内的默认位置下查找。

  • -DMYSQL_CONFIG_EXECUTABLE=/path/to/mysql_config:指定实用程序 mysql_config 的位置,该实用程序用于获取变量 MYSQL_INCLUDE_DIRMYSQL_LIB_DIRMYSQL_LINK_FLAGSMYSQL_CXXFLAGS 的值。由 mysql_config 获取的值将被直接作为参数提供给 cmake 的值覆盖。

  • -DMYSQL_EXTRA_LIBRARIES=依赖项:在静态链接 MySQL 客户端库(-DMYSQLCLIENT_STATIC_LINKING=ON)以及设置 MYSQL_LIB_DIR 和 MYSQL_INCLUDE_DIR(以便不使用 mysql_config 来检测设置)时,请使用此选项来定义客户端库所需的依赖项列表。

  • -DMYSQL_LINK_FLAGS=MySQL 链接标志

  • -DMYSQL_CXXFLAGS=MySQL C++ 链接标志

  • -DMYSQL_CXX_LINKAGE=1:启用与 MySQL 客户端库的 C++ 链接。默认情况下,MySQL 5.6.4 或更高版本启用 MYSQL_CXX_LINKAGE。对于 MySQL 5.6.3 及更早版本,必须将此选项显式设置为 1

Unix 的构建步骤

要构建驱动程序库,请执行 make

$> make

如果发生任何错误,请更正它们并继续构建过程。如果您无法完成构建,请参阅第 9.1 节“Connector/ODBC 社区支持”

安装驱动程序库

要安装驱动程序库,请执行以下命令

$> make install

有关构建过程的更多信息,请参阅源代码分发中提供的 BUILD 文件。

在 Unix 上测试 Connector/ODBC

您构建的库的分发中提供了一些 Connector/ODBC 测试。要运行测试,请执行以下操作

  1. 确保您有一个 odbc.ini 文件,您可以通过该文件配置您的 DSN 条目。构建过程会在 test 文件夹下生成一个示例 odbc.ini 文件。将环境变量 ODBCINI 设置为您的 odbc.ini 文件的位置。

  2. 在您的 odbc.ini 文件中设置测试 DSN(详情请参阅第 5.5 节 “在 Unix 上配置 Connector/ODBC DSN”)。您可以在示例 odbc.ini 文件中找到可用于测试的示例 DSN 条目。

  3. 将环境变量 TEST_DSN 设置为您的测试 DSN 的名称。

  4. 如果需要,请将环境变量 TEST_UIDTEST_PASSWORD 设置为测试的用户名和密码。默认情况下,测试使用 root 作为用户名并且不输入密码;如果您希望测试使用其他用户名或密码,请相应地设置 TEST_UIDTEST_PASSWORD

  5. 确保您的 MySQL 服务器正在运行。

  6. 运行以下命令

    $> make test