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.
mysql_config supports the following options.
Compiler flags to find include files and critical compiler
flags and defines used when compiling the
libmysqlclient 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.
Compiler options to find MySQL include files.
Libraries and options required to link with the MySQL embedded server.
Libraries and options required to link with the MySQL client library.
Libraries and options required to link with the thread-safe MySQL client library.
The default TCP/IP port number, defined when configuring MySQL.
The default Unix socket file, defined when configuring MySQL.
Version number for the MySQL distribution.
If you invoke mysql_config with no options, it displays a list of all options that it supports, and their values:
shell> mysql_config
Usage: /usr/local/mysql/bin/mysql_config [options]
Options:
--cflags [-I/usr/local/mysql/include/mysql -mcpu=pentiumpro]
--include [-I/usr/local/mysql/include/mysql]
--libs [-L/usr/local/mysql/lib/mysql -lmysqlclient -lz
-lz -lcrypt -lnsl -lm]
--libs_r [-L/usr/local/mysql/lib/mysql -lmysqlclient_r
-lz -lpthread -lcrypt -lnsl -lm -lpthread]
--socket [/tmp/mysql.sock]
--port [3306]
--version [5.0.96]
--libmysqld-libs [-L/usr/local/mysql/lib/mysql -lmysqld
-lz -lpthread -lcrypt -lnsl -lm -lpthread -lrt]
You can use mysql_config within a command line using backticks to include the output that it produces for a particular option. For example, to compile and link a MySQL client program, use mysql_config as follows:
shell>gcc -c `mysql_config --cflags` progname.cshell>gcc -o progname progname.o `mysql_config --libs`