mysql的jdbc配置(mysql数据库备份讲解)
测试的过程中,我们经常要对数据库表数据进行查询、修改、添加等操作。在用 jmeter 做性能或者接口等测试时,也可以让 jmeter 连接数据库然后对数据库数据进行相关操作。下面先来学习如何使用 jmeter 连接 mysql 数据库进行操作。
一、创建测试
首先创建一个测试计划和线程组,然后在线程组下添加配置元件 jdbc connection configuration 。
二、设置数据库连接配置
接下来要对数据库连接的配置项进行设置。
variable name for created pool: 创建池的变量名 。这个变量在后面介绍的 jdbc request 请求中用到。
max number of connections: 池中允许的最大连接数。在大多数情况下,将其设置为零(0),这意味着每个线程都将拥有自己的池,其中只有一个连接,即线程之间不共享连接。如果您真的想使用共享池,那么将 max count 设置为与线程数量相同,以确保线程不会彼此等待。
max wait(ms):在试图检索连接的过程中超过了超时时间,则池会抛出一个错误 。
time between eviction runs (ms):在被逐出的时间间隔(ms)。在空闲对象驱逐线程之间运行的毫秒数。当非正的时候,就不会运行无用的对象驱逐线程(默认为”60000″,1分钟) 。
auto commit:将自动提交或关闭连接到连接上 。
transaction isolation:事务隔离 。这个默认即可,具体用法暂时还没有研究过,会的可以分享一下。
test while idle :测试池的空闲连接 ,后面的验证查询将用于测试它。
soft min evictable idle time(ms) :软min可驱逐空闲时间(ms) 。在它有资格被闲置的对象驱逐者强制驱逐之前,一个连接可能闲置在池中,并且至少在池中存在空闲连接的额外条件,默认值为5000(5秒) 。
validation query :验证查询 。一个简单的查询,用来确定数据库是否仍在响应。 这个验证查询在池创建中使用,即使“空闲测试”建议查询只在空闲连接上使用,也可以验证它。
验证查询的列表可以配置 jdbc.config.check。查询属性,默认情况下:
hsqldb:select 1 from information_schema.system_users
oracle:select 1 from dual
db2:select 1 from sysibm.sysdummy1
mysql:select 1
microsoft sql server (ms jdbc driver):select 1
postgresql:select 1
ingres:select 1
derby:values 1
h2:select 1
firebird:select 1 from rdb$database
database url:数据库的jdbc连接字符串。格式:jdbc:mysql://host[:port]/dbname,称举个栗子:
jdbc:mysql://127.0.0.1:3306/db_api。为了避免读取数据出现乱码,可以在前面基础上加上处理乱码的字符串,例如:jdbc:mysql://127.0.0.1:3306/db_api?useunicode=true&characterencoding=utf8。
jdbc driver class :jdbc驱动程序类 。mysql 选择 com.mysql.jdbc.driver,另外我们要把 mysql-connector-java.jar 包放到 jmeter/lib目录下,然后重启 jmeter 。
mysql-connector-java.jar 包下载地址:
https://pan.baidu.com/s/14n4beohy14svkjziahvsdg 密码:vmy3
下面列举一些数据库及其参数的实例:
mysql
- driver class:com.mysql.jdbc.driver
- database url:jdbc:mysql://host[:port]/dbname
postgresql
- driver class:org.postgresql.driver
- database url:jdbc:postgresql:{dbname}
oracle
- driver class:oracle.jdbc.oracledriver
- database url:jdbc:oracle:thin:@//host:port/service orjdbc:oracle:thin:@(description=(address=(host={mc-name})(protocol=tcp)(port={port-no}))(connect_data=(sid={sid})))
ingress (2006)
- driver class:ingres.jdbc.ingresdriver
- database url:jdbc:ingres://host:port/db[;attr=value]
microsoft sql server (ms jdbc driver)
- driver class:com.microsoft.sqlserver.jdbc.sqlserverdriver
- database url:jdbc:sqlserver://host:port;databasename=dbname
apache derby
- driver class:org.apache.derby.jdbc.clientdriver
- database url:jdbc:derby://server[:port]/databasename[;urlattributes=value[;…]]
username :连接数据库的用户名。
password:连接数据库的密码。
三、连接数据库操作
设置完成后,接下来在线程组下创建一个 jdbc request 请求。
1、查询操作
例如我们先来个查询语句。
运行脚本之前,我们先在 sqlyog 中查询看 table_api 表中有哪些数据?
接着在 jmeter 中添加一个查看结果树监听器,运行一次脚本。
从上面的结果可以看出,jmeter 已经成功操作了数据库,并且把 table_api 表的数据查询出来了,和在 sqlyog 中查询到的结果是一致的。
2、增加操作
下面往表内插入一行新数据。
运行脚本,查看结果。
从结果可以看出,插入数据也是没问题的。
3、修改操作
接下来,我们把隔壁老王的电话修改一下。
运行脚本,查看结果。
数据修改成功。
4、删除操作
最后,我们把隔壁老王的数据删除。
运行脚本,查看结果。
从查询结果看出,隔壁老王数据被删除,永远离开了我们。
以上就是 jmeter 连接 mysql 对数据库的一些操作,希望对大家有所帮助。