2011-10-17 116 views
1

我試圖讓MySQL ++在Debian 6上使用SSL支持正常工作。我已經測試了Windows 7上的所有內容,並且效果很好。一切都被加密。儘管將它移植到Debian中有點麻煩。Linux上的MySQL ++ SSL支持

這是我的錯誤:

terminate called after throwing an instance of 'mysqlpp::BadOption' what(): Option not supported by database driver v5.1.49

這是我的電話設置的證書文件:

connection->set_option(new mysqlpp::SslOption("/root/certs/client-key.pem", "/root/certs/client-cert.pem", "/root/certs/ca-cert.pem", "/root/certs", "DHE-RSA-AES256-SHA"));

我注意到,配置MySQL ++在查找mysql_ssl_set()在libmysqlclient中。它沒有找到那個功能。

checking for mysql_ssl_set in -l... no

回答

2

這個bug在今天發佈的MySQL ++ 3.2.0中得到修復。

在舊版本中,在mysql_ssl_set()的測試中存在一個錯誤。如果你不能使用當前版本,但可以修補版本的源代碼,這將解決它:

Index: config/mysql_ssl.m4 
=================================================================== 
--- config/mysql_ssl.m4 (revision 2696) 
+++ config/mysql_ssl.m4 (working copy) 
@@ -10,7 +10,7 @@ 
    # 
    # Check for mysql_ssl_set() in libmysqlclient(_r) 
    # 
- AC_CHECK_LIB($MYSQL_C_LIB, mysql_ssl_set, [ 
+ AC_CHECK_LIB($MYSQL_C_LIB_NAME, mysql_ssl_set, [ 
     AC_DEFINE(HAVE_MYSQL_SSL_SET,, Define if your MySQL library has SSL functions) 
    ]) dnl AC_CHECK_LIB(mysqlclient, mysql_ssl_set) 
]) dnl MYSQL_WITH_SSL 

然後,您將需要重新引導源代碼樹,並重建。

+0

這對我來說非常合適。謝謝。 – Ryan 2011-10-18 08:49:37