4.7.1 mysql_config-编译 Client 端的显示选项

mysql_config为您提供有关编译 MySQLClient 端并将其连接到 MySQL 的有用信息。它是一个 Shell 脚本,因此仅在 Unix 和类似 Unix 的系统上可用。

Note

从 MySQL 5.7.9 开始,可以使用 pkg-config 代替mysql_config以获得信息,例如编译 MySQL 应用程序所需的编译器标志或链接库。有关更多信息,请参见第 27.7.3.2 节“使用 pkg-config 构建 C APIClient 端程序”

Note

从 MySQL 5.7.4 开始,对于 Solaris 的二进制发行版,mysql_config不提供用于与嵌入式库链接的参数。要获取嵌入式库的链接参数,请改用 mysql_server_config 脚本。

mysql_config支持以下选项。

C 编译器标志,用于查找包含文件和关键编译器标志,并定义在编译libmysqlclient库时使用的标志。返回的选项与创建库时使用的特定编译器相关,并且可能与您自己的编译器的设置冲突。使用--includetable 示仅包含路径的可移植选项。

类似于--cflags,但适用于 C 编译器标志。

查找 MySQL 包含文件的编译器选项。

与 MySQL 嵌入式服务器libmysqld链接所需的库和选项。

Note

从 MySQL 5.7.19 开始不推荐使用libmysqld嵌入式服务器库,并且已在 MySQL 8.0 中将其删除。

与 MySQLClient 端库链接所需的库和选项。

与线程安全的 MySQLClient 端库链接所需的库和选项。在 MySQL 5.7 中,所有 Client 端库都是线程安全的,因此不需要使用此选项。 --libs选项可在所有情况下使用。

默认的插件目录路径名,在配置 MySQL 时定义。

配置 MySQL 时定义的默认 TCP/IP 端口号。

默认的 Unix 套接字文件,在配置 MySQL 时定义。

显示命名配置变量的值。允许的var_name *值为pkgincludedir(头文件目录),pkglibdir(库目录)和plugindir(插件目录)。

MySQL 发行版的版本号。

如果您不带任何选项调用mysql_config,它将显示它支持的所有选项及其值的列 table:

shell> 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来包含它为特定选项生成的输出。例如,要编译和链接 MySQLClient 端程序,请使用mysql_config,如下所示:

gcc -c `mysql_config --cflags` progname.c
gcc -o progname progname.o `mysql_config --libs`