> 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-binlogreplication-api-reference/replication-api-function-reference/mariadb_rpl_init.md).

# mariadb\_rpl\_init()

Allocates and initializes a replication handle associated with an existing database connection.

### **Syntax**

```sql
#include <mysql.h>
#include <mariadb.h>

MARIADB_RPL *mariadb_rpl_init(MYSQL *mysql)
```

### **Parameters**

| Parameter | Description                                                                                                                                     |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `mysql`   | A connection handle previously connected via [mysql\_real\_connect()](/docs/connectors/mariadb-connector-c/api-functions/mysql_real_connect.md) |

### **Return Value**

A pointer to a newly allocated `MARIADB_RPL` handle on success, or `NULL` on failure.

### Notes

The replication handle must be released by calling [`mariadb_rpl_close()`](/docs/connectors/mariadb-connector-c/mariadb-binlogreplication-api-reference/replication-api-function-reference/mariadb_rpl_close.md) when no longer needed.

### History

Added in [MariaDB Connector/C 3.1.0](/docs/release-notes/connectors/c/3.1/3.1.0.md).

### See also

* [`mariadb_rpl_close()`](/docs/connectors/mariadb-connector-c/mariadb-binlogreplication-api-reference/replication-api-function-reference/mariadb_rpl_close.md)

<sub>*This page is: Copyright © 2026 MariaDB. All rights reserved.*</sub>
