如何使用mysql api关闭ssl模式提高查询效率

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用mysql api关闭ssl模式提高查询效率相关的知识,希望对你有一定的参考价值。


昨天测试部同事用大呼测试我们的业务系统,数据库用的是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)

以上是关于如何使用mysql api关闭ssl模式提高查询效率的主要内容,如果未能解决你的问题,请参考以下文章

大型单表的 MySQL 查询优化 [关闭]

如何在 Azure API 管理中的每个请求后关闭 SSL 连接

如何提高mysql查询速度

如何在 Netty 中的 ssl 握手之前优雅地关闭频道?

如何使用索引快速提高 mysql 查询?

Linux上MySQL优化提升性能 哪些可以优化的关闭NUMA特性