Hi Michal,
libmariadb.so.2 is MariaDB Connector/C 2.x, while libmariadb.so.3 refers to MariaDB Connector/C 3.0 (GA will be released together with next MariaDB 10.2 release in July =10.2.7).
Both versions are backwards compatible with libmysql.so.18 - API and ABI wise, unless applications will abuse internals of MYSQL or MYSQL_STMT structures instead of using API functions (like mysql->reconnect=1 instead of using mysql_options(mysql, MYSQL_OPT_RECONNECT, &value).
Connector/C versions < 2.2.2 are not 100% ABI compatible, since the plugin interface differs (MySQL changed the interface without bumping the interface number years ago).
Compared to libmysql.so.18 libmariadb.so.3 offers additional functions and features:
Functions:
- mariadb_cancel
- mariadb_connection
- mariadb_get_charset_by_name
- mariadb_stmt_execute_direct
- mariadb_get_charset_by_nr
- mariadb_get_info
- mariadb_get_infov
- mysql_optionsv
Functionality:
- prepare and execute in one step (mariadb_stmt_execute_direct)
- bulk insert for prepared statements (will be supported in 10.2.7)
- TLS/SSL:
- finger print verification of host certificate
- GnuTLS, Schannel (Windows), OpenSSL or LibreSSL support
- Connection plugins (e.g. for replication/failover, tracing, tunelling etc.).
- Kerberos authentication plugin
Hope this helps!
/Georg