记录一下今天使用 jmeter 连接数据库踩坑的过程,大家遇到的时候也可以参考一下。
过程是这样的,mysql 版本是 5.7.42,jmeter 下载的mysql-connector 驱动是 8.0.6,连接数据库的信息都是正确的,但是在查询数据的时候报错“Cannot create PoolableConnectionFactory(Communications link failure The last packet successfully received from the server was 31 milliseconds ago. The last packet sent successfully to the server was 31 milliseconds ago.)”。一开始怀疑驱动版本过高,将mysql-connector 驱动换成 5.1.42,错误仍然没有解决,后来在 url 连接的后面加上"?useSSL=false",禁用SSL连接,完美解决报错问题。
对于驱动版本报错的,主要是“Cannot create PoolableConnectionFactory (Could not create connection to database server.)”,这是我之前遇到的,当时的情况是 jmeter 版本是3.1,mysql版本是 8.0.11,而 mysql-connector-java 版本是 5.1.31,后来换成高版本的驱动之后,可以正常连接数据库,并能正常读写数据。
连接数据库时还有另外一种报错"Cannot load JDBC driver class ‘com.mysql.jdbc.Driver’ ",这就是典型的缺少 mysql-connector 驱动,解决办法就是下载一个对应版本的驱动,下载地址:https://dev.mysql.com/downloads/connector/j/,将解压出来的 jar 包放到 jmeter\lib 目录下,重启 jmeter 即可。
以上是自己在工作中遇到的连接数据库的问题,欢迎小伙伴们参考,也欢迎大家补充交流!