您需要以下工具才能在 Unix 上从源代码构建 MySQL
有效的 ANSI C++ 编译器。已知 GCC 4.2.1 或更高版本、Sun Studio 12.1 或更高版本以及许多当前供应商提供的编译器都可以正常工作。
CMake。
MySQL 客户端库和包含文件。要获取客户端库和包含文件,请访问 https://dev.mysqlserver.cn/downloads/。
必须安装兼容的 ODBC 管理器。已知 Connector/ODBC 可与
iODBC
和unixODBC
管理器一起使用。有关更多信息,请参阅第 3.2 节“ODBC 驱动程序管理器”。如果您使用的字符集未编译到 MySQL 客户端库中,请将
charsets
目录中的 MySQL 字符定义安装到SHAREDIR
(默认情况下为/usr/local/mysql/share/mysql/charsets
)。如果您在同一台机器上安装了 MySQL 服务器,则这些文件应该已经存在。有关字符集支持的更多信息,请参阅字符集、排序规则、Unicode。
获得所有必需的文件后,将源文件解压缩到一个单独的目录中,然后使用以下命令运行 cmake
$> cmake -G "Unix Makefiles"
典型的 cmake 参数和选项
您可能需要通过将环境变量 MYSQL_INCLUDE_DIR
、MYSQL_LIB_DIR
和 MYSQL_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=
:启用 unixODBC 支持。1
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=
:指定实用程序 mysql_config 的位置,该实用程序用于获取变量/path/to/mysql_config
MYSQL_INCLUDE_DIR
、MYSQL_LIB_DIR
、MYSQL_LINK_FLAGS
和MYSQL_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 测试。要运行测试,请执行以下操作
确保您有一个
odbc.ini
文件,您可以通过该文件配置您的 DSN 条目。构建过程会在test
文件夹下生成一个示例odbc.ini
文件。将环境变量ODBCINI
设置为您的odbc.ini
文件的位置。在您的
odbc.ini
文件中设置测试 DSN(详情请参阅第 5.5 节 “在 Unix 上配置 Connector/ODBC DSN”)。您可以在示例odbc.ini
文件中找到可用于测试的示例 DSN 条目。将环境变量
TEST_DSN
设置为您的测试 DSN 的名称。如果需要,请将环境变量
TEST_UID
和TEST_PASSWORD
设置为测试的用户名和密码。默认情况下,测试使用 “root” 作为用户名并且不输入密码;如果您希望测试使用其他用户名或密码,请相应地设置TEST_UID
和TEST_PASSWORD
。确保您的 MySQL 服务器正在运行。
-
运行以下命令
$> make test