2011-10-17 4 views
1

J'essaye de faire fonctionner MySQL ++ correctement sur Debian 6 avec le support SSL. J'ai tout testé sur Windows 7 et ça marche très bien. Tout est chiffré. J'ai un peu de mal à le porter sur Debian.Support MySQL ++ SSL sous Linux

Ceci est mon erreur:

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

Ceci est mon appel à la définition des fichiers de certificat:

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"));

J'ai remarqué que lors de la configuration MySQL ++ il recherche mysql_ssl_set() dans libmysqlclient. Il ne trouve pas cette fonction.

checking for mysql_ssl_set in -l... no

Répondre

2

Ce bug est corrigé dans MySQL ++ 3.2.0, publié aujourd'hui.

Dans les versions antérieures, il y avait un bug dans le test pour mysql_ssl_set(). Si vous ne pouvez pas utiliser la version actuelle, mais pouvez patcher le code source de votre version, cela va corriger:

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 

Vous aurez alors besoin de re-amorçage de l'arbre source et reconstruire.

+0

Cela a fonctionné parfaitement pour moi. Je vous remercie. – Ryan