This section describes some utilities that you may find useful when developing MySQL programs.
-
msql2mysql
A shell script that converts
mSQL
programs to MySQL. It doesn't handle every case, but it gives a good start when converting. -
mysql_config
A shell script that produces the option values needed when compiling MySQL programs.
Initially, the MySQL C API was developed to be very similar to that for the mSQL database system. Because of this, mSQL programs often can be converted relatively easily for use with MySQL by changing the names of the C API functions.
The msql2mysql utility performs the conversion of mSQL C API function calls to their MySQL equivalents. msql2mysql converts the input file in place, so make a copy of the original before converting it. For example, use msql2mysql like this:
shell>cp client-prog.c client-prog.c.orig
shell>msql2mysql client-prog.c
client-prog.c converted
Then examine client-prog.c
and make any
post-conversion revisions that may be necessary.
msql2mysql uses the replace utility to make the function name substitutions. See Section 8.18, “replace — A String-Replacement Utility”.
mysql_config provides you with useful information for compiling your MySQL client and connecting it to MySQL.
mysql_config supports the following options:
-
--cflags
Compiler flags to find include files and critical compiler flags and defines used when compiling the
libmysqlclient
library. -
--include
Compiler options to find MySQL include files. (Note that normally you would use
--cflags
instead of this option.) -
--libmysqld-libs
,--embedded
Libraries and options required to link with the MySQL embedded server.
-
--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.
-
--port
The default TCP/IP port number, defined when configuring MySQL.
-
--socket
The default Unix socket file, defined when configuring MySQL.
-
--version
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
-lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto]
--libs_r [-L/usr/local/mysql/lib/mysql -lmysqlclient_r
-lpthread -lz -lcrypt -lnsl -lm -lpthread]
--socket [/tmp/mysql.sock]
--port [3306]
--version [4.0.16]
--libmysqld-libs [-L/usr/local/mysql/lib/mysql -lmysqld -lpthread -lz
-lcrypt -lnsl -lm -lpthread -lrt]
You can use mysql_config within a command line to include the value that it displays for a particular option. For example, to compile a MySQL client program, use mysql_config as follows:
shell>CFG=/usr/local/mysql/bin/mysql_config
shell>sh -c "gcc -o progname `$CFG --cflags` progname.c `$CFG --libs`"
When you use mysql_config this way, be
sure to invoke it within backtick
(‘`
’) characters. That tells
the shell to execute it and substitute its output into the
surrounding command.