•APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available, enabling MySQL clients to be written in many languages. See Chapter 29, Connectors and APIs . 

•The Connector/ODBC (MyODBC) interface provides MySQL support for client programs that use ODBC (Open Database Connectivity) connections. For example, you can use MS Access to connect to your MySQL server. Clients can be run on Windows or Unix. Connector/ODBC source is available. All ODBC 2.5 functions are supported, as are many others. See MySQL Connector/ODBC Developer Guide. 

•The Connector/J interface provides MySQL support for Java client programs that use JDBC connections. Clients can be run on Windows or Unix. Connector/J source is available. See MySQL Connector/J 5.1 Developer Guide. 

•MySQL Connector/NET enables developers to easily create .NET applications that require secure, high-performance data connectivity with MySQL. It implements the required ADO.NET interfaces and integrates into ADO.NET aware tools. Developers can build applications using their choice of .NET languages. MySQL Connector/NET is a fully managed ADO.NET driver written in 100% pure C#. See MySQL Connector/NET Developer Guide. 

## Localization 

•The server can provide error messages to clients in many languages. See Section 10.12, “Setting the Error Message Language” . 

•Full support for several different character sets, including latin1  (cp1252), german , big5 , ujis , several Unicode character sets, and more. For example, the Scandinavian characters “ å ” , “ ä ”  and “ ö ”  are permitted in table and column names. 

•All data is saved in the chosen character set. 

•Sorting and comparisons are done according to the default character set and collation. is possible to change this when the MySQL server is started (see Section 10.3.2, “Server Character Set and Collation” ). To see an example of very advanced sorting, look at the Czech sorting code. MySQL Server supports many different character sets that can be specified at compile time and runtime. 

•The server time zone can be changed dynamically, and individual clients can specify their own time zone. See Section 5.1.15, “MySQL Server Time Zone Support” . 

## Clients and Tools 

•MySQL includes several client and utility programs. These include both command-line programs such as mysqldump  and mysqladmin , and graphical programs such as MySQL Workbench. 

•MySQL Server has built-in support for SQL statements to check, optimize, and repair tables. These statements are available from the command line through the mysqlcheck  client. MySQL also includes myisamchk , a very fast command-line utility for performing these operations on MyISAM  tables. See Chapter 4, MySQL Programs . 

•MySQL programs can be invoked with the --help  or -?  option to obtain online assistance. 

## 1.2.3 History of MySQL 

We started out with the intention of using the mSQL  database system to connect to our tables using our own fast low-level (ISAM) routines. However, after some testing, we came to the conclusion that mSQL  was not fast enough or flexible enough for our needs. This resulted in a new SQL interface to our database but with almost the same API interface as mSQL . This API was designed to enable third-party code that was written for use with mSQL  to be ported easily for use with MySQL. 

MySQL is named after co-founder Monty Widenius’s daughter, My. 

