content_image/762251.jpg
## A.13 MySQL 8.0 FAQ: C API, libmysql 

Frequently asked questions about MySQL C API and libmysql. 

<img src='content_image/762251.jpg'>

A.13.1. What is “MySQL Native C API” ? What are typical benefits and use cases? 

libmysql is a C-based API that you can use in C applications to connect with the MySQL database server. It is also itself used as the foundation for drivers for standard database APIs like ODBC, Perl’s DBI, and Python’s DB API. 

A.13.2. Which version of libmysql should I use? 

A.13.3. What if I want to use the “NoSQL” X DevAPI? 

For MySQL 8.0, 5.7, 5.6, and 5.5, we recommend libmysql 8.0. 

For C-language and X DevApi Document Store for MySQL 8.0, we recommend MySQL Connector/ C++. Connector/C++ 8.0 has compatible C headers. (This is not applicable to MySQL 5.7 or before.) 

A.13.4. How to I download libmysql? 

•Linux: The Client Utilities Package is available from the MySQL Community Server download page. 

•Repos: The Client Utilities Package is available from the Yum, APT, SuSE repositories. 

A.13.5. Where is the documentation? 

A.13.6. How do I report bugs? 

•Windows: The Client Utilities Package is available from Windows Installer. 

See MySQL 8.0 C API Developer Guide. 

Please report any bugs or inconsistencies you observe to our Bugs Database. Select the C API Client as shown. 

A.13.7. Is it possible to compile the library myself? 

Yes, you can download the libmysqlclient source code and compile it on your own. Here’s an example: $ git clone --depth 1 https://github.com/mysql/mysql-server 

$ cd mysql-server $ mkdir build $ cd build $ cmake .. -GNinja -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/tmp -DCMAKE_BUILD_TYPE=Release -DWITHOUT_SERVER=ON \ -DWITH_SSL=system $ ninja libmysqlclient.a $ ls -la archive_output_directory/libmysqlclient.a -rw-rw-r-- 1 kg kg 8,5M wrz 5 04:57 archive_output_directory/libmysqlclient.a 

