22.9. MySQL Program Development Utilities

MySQL 5.0

22.9. MySQL Program Development Utilities

This section describes some utilities that you may find useful when developing MySQL programs.

  • A shell script that converts programs to MySQL. It doesn't handle every case, but it gives a good start when converting.

  • A shell script that produces the option values needed when compiling MySQL programs.

22.9.1. msql2mysql — Convert mSQL Programs for Use with MySQL

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> 
shell> 
client-prog.c converted

Then examine 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”.

22.9.2. mysql_config — Get Compile Options for Compiling Clients

mysql_config provides you with useful information for compiling your MySQL client and connecting it to MySQL.

mysql_config supports the following options:

  • Compiler flags to find include files and critical compiler flags and defines used when compiling the library.

  • Compiler options to find MySQL include files. (Note that normally you would use instead of this option.)

  • ,

    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> 
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> 
shell> 

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.