昨天测试部同事用大呼测试我们的业务系统,数据库用的是MySQL。单呼的时候数据库查询正常,但是呼叫量一大就出现了数据库查询延迟的情况。
经过分析发现是由于MySQL Server的数据库端开启了SSL,每次查询都要经过SSL验证。于是我就查找如何关闭SSL验证的方法。
通过百度搜索,居然全网出了用mysql客户端增加--ssl-mode=DISABLED参数外。再没有明确的关闭SSL的方法。
通过查询MySQL的官方的英文网页说明,大致了解了设置的方法。通过mysql_options接口函数可以实现。
int mysql_options(MYSQL *mysql, enum mysql_option option, const void *arg)
该函数用在mysql_init之后,在mysql_connect或mysql_real_connect之前。
after mysql_init() and before mysql_connect() or mysql_real_connect().
具体编码如下:
MYSQL *conn;
conn = mysql_init(NULL);
mysql_ssl_mode sslmode = SSL_MODE_DISABLED;
mysql_options(conn,MYSQL_OPT_SSL_MODE,(void *)&sslmode);
if (mysql_real_connect(conn, mysqlHost, mysqlUser, mysqlPasswd,
mysqlDBName, mysqlPort, opt_socket_name, opt_flags) == NULL)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)