Documentation Home
MySQL 8.0 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 43.3Mb
PDF (A4) - 43.4Mb
Man Pages (TGZ) - 297.3Kb
Man Pages (Zip) - 402.5Kb
Info (Gzip) - 4.3Mb
Info (Zip) - 4.3Mb
Excerpts from this Manual

MySQL 8.0 Reference Manual  / ...  / MySQL Programs  / Program Development Utilities  /  mysql_config — Display Options for Compiling Clients

6.7.1 mysql_config — Display Options for Compiling Clients

mysql_config provides you with useful information for compiling your MySQL client and connecting it to MySQL. It is a shell script, so it is available only on Unix and Unix-like systems.

Note

pkg-config can be used as an alternative tomysql_config for obtaining information such as compiler flags or link libraries required to compile MySQL applications. For more information, seeBuilding C API Client Programs Using pkg-config.

mysql_config supports the following options.

  • --cflags

    C Compiler flags to find include files and critical compiler flags and defines used when compiling thelibmysqlclient library. The options returned are tied to the specific compiler that was used when the library was created and might clash with the settings for your own compiler. Use--include for more portable options that contain only include paths.

  • --cxxflags

    Like--cflags, but for C++ compiler flags.

  • --include

    Compiler options to find MySQL include files.

  • --libs

    Libraries and options required to link with the MySQL client library.

  • --libs_r

    Libraries and options required to link with the thread-safe MySQL client library. In MySQL 8.0, all client libraries are thread-safe, so this option need not be used. The--libs option can be used in all cases.

  • --plugindir

    The default plugin directory path name, defined when configuring MySQL.

  • --port

    The default TCP/IP port number, defined when configuring MySQL.

  • --socket

    The default Unix socket file, defined when configuring MySQL.

  • --variable=var_name

    Display the value of the named configuration variable. Permittedvar_name values arepkgincludedir (the header file directory),pkglibdir (the library directory), andplugindir (the plugin directory).

  • --version

    Version number for the MySQL distribution.

If you invokemysql_config with no options, it displays a list of all options that it supports, and their values:

$> mysql_configUsage: /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.8.0-m17]  --variable=VAR   VAR is one of:          pkgincludedir [/usr/local/mysql/include]          pkglibdir     [/usr/local/mysql/lib]          plugindir     [/usr/local/mysql/lib/plugin]

You can usemysql_config within a command line using backticks to include the output that it produces for particular options. For example, to compile and link a MySQL client program, usemysql_config as follows:

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