您需要以下工具才能在 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 支持。1iODBC是在 Linux 平台上从源代码构建 Connector/ODBC 时默认使用的 ODBC 库。或者,可以通过将此选项设置为 “1” 来使用unixODBC。-DMYSQLCLIENT_STATIC_LINKING=静态链接到 MySQL 客户端库。默认情况下选择与 MySQL 客户端库动态链接,也就是说,布尔值:MYSQLCLIENT_STATIC_LINKINGcmake 选项默认情况下为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_configMYSQL_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