> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/connectors/mariadb-connector-c/mariadb-connector-c-guide.md).

# MariaDB Connector/C Overview

{% hint style="info" %}
**Browse & download the latest MariaDB connectors**

<a href="https://mariadb.com/downloads/connectors/?utm_source=onpagepromo&#x26;utm_medium=kb" class="button primary">Download Connectors</a>
{% endhint %}

{% hint style="info" %}

<p align="center">The most recent release of <a href="/spaces/CjGYMsT2MVP4nd3IyW2L/pages/iaR8JUIJhAdBxxadFJzY">MariaDB Connector/C</a> is: <a href="/spaces/aEnK0ZXmUbJzqQrTjFyb/pages/OlOxADNpJ1xWTk5R71Uo"><strong>3.4.9</strong></a></p>

<p align="center"><a href="https://mariadb.com/downloads/connectors/connectors-data-access/c-connector" class="button primary">Download Connector/C 3.4.9</a></p>
{% endhint %}

MariaDB Connector/C is used to connect applications developed in C/C++ to MariaDB and MySQL databases.The client library is LGPL licensed.

## Supported Versions

### Server Compatibility

MariaDB Connector/C is compatible with all MariaDB and MySQL server versions.

### Supported Release Series

The following MariaDB Connector/C release series are currently supported:

| Release Series | Stable (GA) Date |
| -------------- | ---------------- |
| 3.4            | February 2025    |
| 3.3            | July 2022        |

For End of Standard Support and End of Life dates, see the [MariaDB Engineering Policy](https://mariadb.com/engineering-policies/).

### Checking Your Installed Version

Most users install MariaDB Connector/C from the packages distributed with MariaDB Server, which use the server's versioning scheme rather than the connector's. To find the installed Connector/C version, use the `mariadb_config` utility with the `--cc_version` option:

```bash
mariadb_config --cc_version
```

```
3.4.10
```

{% hint style="warning" %}
The `mariadb_config --version` option returns the **MariaDB Server package** version, not the Connector/C version. Use `--cc_version` for the Connector/C version.
{% endhint %}

An application can also retrieve the client library version at runtime by calling [`mysql_get_client_info()`](/docs/connectors/mariadb-connector-c/api-functions/mysql_get_client_info.md) (string) or [`mysql_get_client_version()`](/docs/connectors/mariadb-connector-c/api-functions/mysql_get_client_version.md) (numeric).

## Integration with MariaDB Server

MariaDB Connector/C is distributed with MariaDB Server packages. Eventually, it will completely replace the functionality that has traditionally been performed by `libmysqlclient` in those packages. Currently, MariaDB Connector/C has replaced `libmysqlclient` as the client library for client utilities that are distributed with MariaDB Server. See [MDEV-9055](https://jira.mariadb.org/browse/MDEV-9055) for more information.

## Installing MariaDB Connector/C

MariaDB Connector/C packages can be downloaded by selecting your desired version from the following page:

* MariaDB Connector/C packages can also be downloaded by selecting **C/C++ connector** as the **Product** on the following page:
* [#connectors](https://mariadb.com/downloads/#connectors)

See the instructions below for information on how to install the MariaDB Connector/C package for your operating system.

### Installing MariaDB Connector/C on Windows

To install MariaDB Connector/C on Windows, we distribute [MSI packages](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/installing-mariadb-msi-packages-on-windows.md). The MSI installation process is fairly straightforward. Both 32-bit and 64-bit MSI packages are available.

### Installing MariaDB Connector/C on Linux

MariaDB Connector/C is distributed in [binary tarballs](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/installing-mariadb-binary-tarballs.md) on Linux.

#### Installing with a Package Manager

Since MariaDB Connector/C is now integrated with MariaDB Server, it can also be installed via a package manager on Linux. In order to do so, your system needs to be configured to install from one of the MariaDB repositories. The repository needs to be configured for [MariaDB 10.2](/docs/release-notes/community-server/old-releases/10.2/what-is-mariadb-102.md) or later.

You can configure your package manager to install it from MariaDB Corporation's MariaDB Package Repository by using the [MariaDB Package Repository setup script](/docs/server/server-management/install-and-upgrade-mariadb/mariadb-package-repository-setup-and-usage.md).

You can also configure your package manager to install it from MariaDB Foundation's MariaDB Repository by using the [MariaDB Repository Configuration Tool](https://downloads.mariadb.org/mariadb/repositories/).

**Installing with yum/dnf**

On RHEL, CentOS, Fedora, and other similar Linux distributions, it is highly recommended to install the relevant [RPM package](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/rpm.md) from MariaDB's\
repository using [yum](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/rpm/yum.md) or [dnf](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/rpm/yum.md). Starting with RHEL 8 and Fedora 22, `yum` has been replaced by `dnf`, which is the next major version of `yum`. However, `yum` commands still work on many systems that use `dnf`. For example:

```bash
sudo yum install MariaDB-shared
```

If you want to build applications with MariaDB Connector/C, then you will also need to install the development package. For example:

```bash
sudo yum install MariaDB-devel
```

**Installing with apt-get**

On Debian, Ubuntu, and other similar Linux distributions, it is highly recommended to install the relevant [DEB package](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/installing-mariadb-deb-files.md) from MariaDB's\
repository using [apt-get](https://wiki.debian.org/apt-get). For example:

```bash
sudo apt-get install libmariadb3
```

If you want to build applications with MariaDB Connector/C, then you will also need to install the development package. For example:

```bash
sudo apt-get install libmariadb-dev
```

**Installing with zypper**

On SLES, OpenSUSE, and other similar Linux distributions, it is highly recommended to install the relevant [RPM package](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/rpm.md) from MariaDB's repository using [zypper](/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/rpm/installing-mariadb-with-zypper.md).

For example:

```bash
sudo zypper install MariaDB-shared
```

If you want to build applications with MariaDB Connector/C, then you will also need to install the development package. For example:

```bash
sudo zypper install MariaDB-devel
```

### Installing MariaDB Connector/C from Source

See [Building Connector/C From Source](/docs/connectors/mariadb-connector-c/building-connectorc-from-source.md) for information on how to build MariaDB Connector/C from source.

## API - Function Reference

MariaDB Connector/C has exactly the same API as the MySQL Connector/C for MySQL 5.5

The function reference is available at:

* [MariaDB Client Library for C API Functions](/docs/connectors/mariadb-connector-c/api-functions.md)
* [MariaDB Client Library for C API Prepared Statement Functions](/docs/connectors/mariadb-connector-c/api-prepared-statement-functions.md)

It is also downloadable in html format from [mariadb-client-doc.zip](https://mariadb.org/files/mariadb-client-doc.zip)

## Configuring MariaDB Connector/C with Option Files

Just like MariaDB Server and libmysqlclient, MariaDB Connector/C can also read configuration options from client [option groups](/docs/server/server-management/install-and-upgrade-mariadb/configuring-mariadb/configuring-mariadb-with-option-files.md#option-groups) in [option files](/docs/server/server-management/install-and-upgrade-mariadb/configuring-mariadb/configuring-mariadb-with-option-files.md).

See [Configuring MariaDB Connector/C with Option Files](/docs/connectors/mariadb-connector-c/configuring-mariadb-connectorc-with-option-files.md) for more information.

## Known Bugs and Limitations

* double to string conversion for prepared statements doesn't work correctly
* Connector 3.0.7 and below doesn't support the MySQL 8.0 default authentication protocol, [caching\_sha2\_password](https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html). This protocol should be supported in Connector/C 3.0.8 and above.

## Reporting Bugs

If you find a bug, please report it via the [CONC project](https://jira.mariadb.org/projects/CONC/issues) on [MariaDB's Jira bug tracker](https://jira.mariadb.org).

## Source Code

The source code is available at the [mariadb-connector-c repository](https://github.com/MariaDB/mariadb-connector-c) on GitHub.

## License

GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

For licensing questions, see the [Licensing FAQ](/docs/general-resources/community/community/faq/licensing-questions/licensing-faq.md).

{% @marketo/form formId="4316" %}
