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是有效的