ubuntu mysql connector c++ SSL connection error unknown error number 2026 HY000

windows下编译的mysql connector c++的连接ubuntu的mysql时,报错2026,看介绍就是与ssl有关。因为windows下编译mysql connector c++的时候没有选择ssl,所以如果mysql开启了ssl连接,就会报错。默认mysql在ubuntu下是开启的,可以通过如下查看

SHOW VARIABLES like '%ssl%'

如下是没开启

have_openssl	DISABLED
have_ssl	DISABLED
ssl_ca	
ssl_capath	
ssl_cert	
ssl_cipher	
ssl_crl	
ssl_crlpath	
ssl_key	

如下是开启

have_openssl	YES
have_ssl	YES
ssl_ca	ca.pem
ssl_capath	
ssl_cert	server-cert.pem
ssl_cipher	
ssl_crl	
ssl_crlpath	
ssl_key	server-key.pem

解决方案就是要么编译ssl版本的链接库(windows下不好编译,放弃;linux编译比较简单),另一种方案就是关闭ssl。ssl连接的作用就是数据传输加密,更安全。在ubuntu下,编辑/etc/mysql/my.cnf,添加如下选项

[mysqld]                                                                             
skip_ssl

重启数据库服务service mysql restart,再次连接就可以了。

需要注意的是ubuntu下mysql的配置目录有很多配置文件,只有/etc/mysql/my.cnf是有效的

版权声明:本文版权归作者所有,如需转载,请标明出处

原文地址:https://www.cnblogs.com/studywithallofyou/p/14681387.html