mysql_config为您提供了编译 MySQL 客户端并将其连接到 MySQL 的有用信息。它是一个 shell 脚本,因此只能在 Unix 和类 Unix 系统上使用。
从 MySQL 5.7.9 开始,pkg-config可以用作mysql_config的替代方法,用于获取编译 MySQL 应用程序所需的编译器标志或链接库等信息。有关详细信息,请参阅使用 pkg-config 构建 C API 客户端程序。
从 MySQL 5.7.4 开始,对于 Solaris 的二进制发行版, mysql_config不提供与嵌入式库链接的参数。要获取嵌入式库的链接参数,请改用 mysql_server_config脚本。
mysql_config支持以下选项。
C 编译器标志,用于查找包含文件和关键编译器标志,并定义编译
libmysqlclient
库时使用的。返回的选项与创建库时使用的特定编译器相关,并且可能与您自己的编译器的设置冲突。用于--include
仅包含包含路径的更多可移植选项。像
--cflags
,但用于 C++ 编译器标志。查找 MySQL 包含文件的编译器选项。
--libmysqld-libs
,--embedded-libs
,--embedded
libmysqld
与MySQL 嵌入式服务器 链接所需的库和选项 。笔记嵌入式服务器库从
libmysqld
MySQL 5.7.19 开始弃用,并已在 MySQL 8.0 中删除。与 MySQL 客户端库链接所需的库和选项。
与线程安全的 MySQL 客户端库链接所需的库和选项。在 MySQL 5.7 中,所有客户端库都是线程安全的,因此不需要使用此选项。该
--libs
选项可用于所有情况。默认插件目录路径名,在配置 MySQL 时定义。
默认的 TCP/IP 端口号,在配置 MySQL 时定义。
默认的 Unix 套接字文件,在配置 MySQL 时定义。
显示命名配置变量的值。允许的
var_name
值为pkgincludedir
(头文件目录)、pkglibdir
(库目录)和plugindir
(插件目录)。MySQL 发行版的版本号。
如果不带任何选项调用mysql_config,它会显示它支持的所有选项及其值的列表:
$> mysql_config
Usage: /usr/local/mysql/bin/mysql_config [options]
Options:
--cflags [-I/usr/local/mysql/include/mysql -mcpu=pentiumpro]
--cxxflags [-I/usr/local/mysql/include/mysql -mcpu=pentiumpro]
--include [-I/usr/local/mysql/include/mysql]
--libs [-L/usr/local/mysql/lib/mysql -lmysqlclient
-lpthread -lm -lrt -lssl -lcrypto -ldl]
--libs_r [-L/usr/local/mysql/lib/mysql -lmysqlclient_r
-lpthread -lm -lrt -lssl -lcrypto -ldl]
--plugindir [/usr/local/mysql/lib/plugin]
--socket [/tmp/mysql.sock]
--port [3306]
--version [5.7.9]
--libmysqld-libs [-L/usr/local/mysql/lib/mysql -lmysqld
-lpthread -lm -lrt -lssl -lcrypto -ldl -lcrypt]
--variable=VAR VAR is one of:
pkgincludedir [/usr/local/mysql/include]
pkglibdir [/usr/local/mysql/lib]
plugindir [/usr/local/mysql/lib/plugin]
您可以在命令行中使用mysql_config,使用反引号来包含它为特定选项生成的输出。例如,要编译和链接一个 MySQL 客户端程序,使用mysql_config如下:
gcc -c `mysql_config --cflags` progname.c
gcc -o progname progname.o `mysql_config --libs`