MySQL 8.0.33 start deprecating mysql_native_password. Now caching_sha2_password is the default authentication plugin.
When using caching_sha2_password in insecure transport (e.g. TCP without TLS), password must be encrypted with server public key.
The safest way to use the server's public key is to use the MYSQL_SERVER_PUBLIC_KEY option.
MariaDB Connector/C supports MYSQL_SERVER_PUBLIC_KEY since they support sha256_password in 3.0.
https://dev.mysql.com/doc/c-api/8.0/en/mysql-options.html
MySQL 8.0.33 start deprecating mysql_native_password. Now caching_sha2_password is the default authentication plugin. When using caching_sha2_password in insecure transport (e.g. TCP without TLS), password must be encrypted with server public key. The safest way to use the server's public key is to use the MYSQL_SERVER_PUBLIC_KEY option.
MariaDB Connector/C supports MYSQL_SERVER_PUBLIC_KEY since they support sha256_password in 3.0.