使用mysql c连接器连接memsql时出错

dauxcl2d  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(719)

我正在尝试通过mysql c连接器连接到memsql:

MYSQL *connection = mysql_init(NULL);
mysql_real_connect(connection, HOST, USER, NULL, DBNAME, 0, NULL, 0);

但我明白了 "Error in server handshake" .
从终端连接( mysql -u root -h 127.0.0.1 -P 3306 )很好用。我尝试设置根密码,但没有任何更改。
我还补充道 SSL_MODE_DISABLEDmysql_options() 并确保已为memsql禁用ssl。
有什么问题吗?

ghhkc1vu

ghhkc1vu1#

您使用的是哪个版本的mysql c连接器?mysql更改了MySQL8中的默认身份验证协议,因此我建议使用旧的c连接器(任何早于8的版本)。如果您想使用mysql 8连接器,那么您需要以某种方式传递默认的auth=mysql\u native\u密码。
使用mysql 8c连接器并连接到旧版本的mysql时也存在同样的问题(请参阅https://bugs.mysql.com/bug.php?id=90994).

相关问题