mysql_config 为您提供编译 MySQL 客户端并将其连接到 MySQL 的有用信息。它是一个 shell 脚本,因此仅在 Unix 和类 Unix 系统上可用。
pkg-config 可以用作 mysql_config 的替代方案,用于获取编译 MySQL 应用程序所需的编译器标志或链接库等信息。有关更多信息,请参阅 使用 pkg-config 构建 C API 客户端程序。
mysql_config 支持以下选项。
用于查找包含文件以及在编译
libmysqlclient
库时使用的关键编译器标志和定义的 C 编译器标志。返回的选项与创建库时使用的特定编译器相关联,并且可能与您自己的编译器的设置冲突。使用--include
获取更便携的选项,这些选项仅包含包含路径。与
--cflags
类似,但用于 C++ 编译器标志。用于查找 MySQL 包含文件的编译器选项。
与 MySQL 客户端库链接所需的库和选项。
与线程安全的 MySQL 客户端库链接所需的库和选项。在 MySQL 9.0 中,所有客户端库都是线程安全的,因此无需使用此选项。
--libs
选项可在所有情况下使用。配置 MySQL 时定义的默认插件目录路径名。
配置 MySQL 时定义的默认 TCP/IP 端口号。
配置 MySQL 时定义的默认 Unix 套接字文件。
显示命名配置变量的值。允许的
var_name
值为pkgincludedir
(头文件目录)、pkglibdir
(库目录)和plugindir
(插件目录)。MySQL 发行版的版本号。
如果调用 mysql_config 时没有指定选项,它会显示它支持的所有选项及其值的列表。
$> mysql_config
Usage: ./mysql_config [OPTIONS]
Compiler: GNU 10.4.0
Options:
--cflags [-I/usr/local/mysql/include/mysql]
--cxxflags [-I/usr/local/mysql/include/mysql]
--include [-I/usr/local/mysql/include/mysql]
--libs [-L/usr/local/mysql/lib/mysql -lmysqlclient -lpthread -ldl
-lssl -lcrypto -lresolv -lm -lrt]
--libs_r [-L/usr/local/mysql/lib/mysql -lmysqlclient -lpthread -ldl
-lssl -lcrypto -lresolv -lm -lrt]
--plugindir [/usr/local/mysql/lib/plugin]
--socket [/tmp/mysql.sock]
--port [3306]
--version [8.4.0]
--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`