MySQL连接器和服务器兼容性(VERSION.server文件)

时间:2014-12-20 21:11:21

标签: mysql mysql-connector mariadb

我正在构建一个基于mysql-connector-c-6.1.3的简单mysql客户端。一切顺利,但是我看到了这个警告:

Warning: MySQL client build with 5.7.4-m14 but loading MySQL 6.1.3

查看源代码,我发现mysql-connector-c同时包含VERSIONVERSION.server文件,定义了两个不同的版本,导致我的客户端发出潜在的不兼容性警告。

我不理解VERSION.server的含义,因为这是一个客户端库。我此时甚至没有运行服务器。另外我的印象是mysql只通过网络连接,因此客户端和服务器版本不必完全匹配。

1 个答案:

答案 0 :(得分:0)

来自来源mysql_version.cmake

GET_MYSQL_VERSION(VERSION.server)
SET(SERVER_VERSION ${VERSION})
SET(SERVER_VERSION_ID ${MYSQL_VERSION_ID})

# Get Connector/C version and other interesting variables
GET_MYSQL_VERSION()

MESSAGE(STATUS "LibMySQL ${VERSION}")
MESSAGE(STATUS "Built from MySQL ${SERVER_VERSION} sources")

显然,客户端中包含一些服务器端代码(听起来合理),VERSION.server仅包含该代码的版本号。

虽然有些冲突的版本(会触发你的警告)分布在一个源包中,但这很奇怪。注意我在这个源包中找不到这个警告,也许你正在构建/链接/运行其他东西?