如何测试数据库的安全

如何测试数据库的安全,第1张

什么意思?

是什么数据,SQL ACCESS 或其他 什么的 ,虽然数据库本身可设置密码。但现在都有破解软件能破解的。

所以,最好的方法就是,在对数据库进行写入时,把原数据加密后的数据写到数据库。调用时,先读取出来,然后解密读取的数据,在调用。

比如,我往数据库存放数据“abc”,我自己定义了,用 y代表a h代表b n代表c 那么加密“abc”后就是“yhn”,把“yhn”存入数据库中。这样别人就算查看了 数据库的内容 看到是“yhn”,不能知道原来的数据是什么。你调用数据时,取出数据库的进行解密为“abc”就行了。

------------------------------------------------------------------------------------------------------------------

详细,可追问

可以再建3张表,结构和S一样,分别为S1,S2,S3

其中:

S1表中随便插入20条数据,姓名为姓(如:赵,钱,孙,李)学号随意

S2表中随便插入20条数据,姓名为名(第二字,如:宝,德,杰,雅),学号随意。

S3表中随便插入25条数据,姓名为名(第三字,如:刚,强,铁,汉),学号随意。

这样,就可以用笛卡尔积实现少量数据产生大量数据。(202025= 10000)

如:

insert into s(姓名,学号) select s1姓名+s2姓名+s3姓名,s1学号+s2学号+s3学号 from s1,s2,s3

得到如赵宝刚之类的10000个姓名。

1、首先,创建空白数据库,在数据库中创建表并插入数据,如下图所示,然后进入下一步。

   

2、其次,完成上述步骤后,菜单栏中选择“创建”,然后选择“查询设计”按钮。将d出“显示表”窗口,如下图所示,然后进入下一步。

   

3、接着,完成上述步骤后,选择“表1”并单击“添加”,如下图所示,然后进入下一步。

   

4、然后,完成上述步骤后,单击查询设计网格第一列中的字段行,选择“生成器”选项,打开“表达式生成器”对话框,在对话框中输入表达式“m”:Max([Age])-min([Age]),单击“确定”按钮,如下图所示,然后进入下一步。

   

5、随后,完成上述步骤后,点击“查询工具”选项卡中“结果”命令组的“数据表视图”命令以查看查询结果,如下图所示,然后进入下一步。

   

6、最后,完成上述步骤后,查询结果如下图所示。这样,问题就解决了。

我不知道你用想测试SQL哪方面能否连通,是能够连接到本地主机还是连接到应用程序?连接到本机就不多说了,直接打开SQL Server Management Studio会d出连接界面,直接点击就行。如果是测试能否连接应用程序,最简单的办法是用Visual Studio来做个简单测试:打开该编辑环境,选择“工具”---“连接到数据库”---输入服务器名----选择一个数据库名---“测试连接”,如果能连接上会探出成功窗口(该 *** 作使用环境为VS2008,其他版本应该大体相同)。这样都能连接上如果你的应用程序连接不上数据库那就跟编写的命令有关了。

首先 数据库的性能有很多种 1:速度性能2:并发性能3:事务性能 在速度性能上,首先你需要首先确定你的测试环境。举个例子,比如你的软件可能的用户群是一群使用586电脑的客户,那么肯定是mysql的效率要高出oracle这个是为什么呢,mysql在事务策略和安全策略上做的工作远没有oracle做出的多。如果软件不需要这方面的高要求,那么完全可以使用mysql,这样机器的配置可以比较低,但是表现出的性能会更加优越。 前面是题外话,在测试前你需要首先顶一下你的测试环境,为了能让oracle充分的表现出他的性能,你应该选取一些强劲的小型机或者服务器来作为测试环境(虽然这样的环境对于mysql来说可能浪费了,但是这样才能确保2个数据库都充分的发挥的自己的特性)。 其次,测试访问速度,你可以通过对数据库的大批量写入来看出效果。所谓大批量写入应该尝试使用存储过程一次读入了10M的数据文件然后写入并且记录时间(同时记录cpu,内存等占用情况)。然后对于至少2个超过10万的数据表做笛卡尔积查询(全连接),查看查询的时间。

@Test

public void jdbcTest() throws ClassNotFoundException, SQLException{

//加载MySql的驱动类

ClassforName("commysqljdbcDriver") ; //环境变量中需要有mysql的驱动包

//简历链接

String url = "jdbc:mysql://localhost:3306/test" ;

String username = "root" ;

String password = "root" ;

Connection con = DriverManagergetConnection(url , username , password ) ;

//创建stat 并执行查询,获得结果集resultSet

Statement stat = concreateStatement();

ResultSet resultSet = statexecuteQuery("select from 你的表 ");

//遍历查询结果集

//1 获得元数据(就是字段名称)

ResultSetMetaData metad = resultSetgetMetaData();

int column = metadgetColumnCount();

Systemoutprintln("查询结果为"+column+"列");

// Systemoutprintln("查询结果为"+metad+"条");

StringBuffer sb = new StringBuffer();

while(resultSetnext()){

for (int i = 0; i < column; i++) {

sbappend("字段:"+metadgetColumnName(i)+",字段值"+resultSetgetString(i)+"\t");

}

sbappend("\n");

}

Systemoutprintln(sbtoString());

}

1可以尝试用查询的方法:

例select from 表名 若不存在该表的话 会有错误提示

2至于创建字段的默认值:你可以在建表的时候设置好,特别是一些数据库软件 *** 作时

1、首先使用VMVARE10搭建一个redhat65的虚拟机。

2、在虚拟redhat65上安装ORACLE11G的数据库。

3、使用oewizard导入测试数据,可以根据向导提示进行数据导入。

4、使用swingbench进行压力测试。

测试步骤:

1、导数据之前需要修改temp表空间大小,使其能够容纳下相应的导入数据

create temporarytablespace temp tempfile '/home/oracle/oradata/orcl/tempdbf' size 1g;

alter databasedefault temporary tablespace temp;

2、 安装swingbench测试软件,直接解压缩即可运行。

unzip -x swingbench25919zip

3、进入swingbench/bin目录执行oewizard导入1G测试数据,并修改数据库连接名和DBA密码

wKioL1Qx2h3TrIIGAAGyVq92CVA180jpg

输入导入数据文件存放位置:

wKiom1Qx2nGTFbZFAAGBnRUybxU038jpg

选择导入1G数据:

wKioL1Qx2tnyThWoAAE8qLLgIJI464jpg

数据导完之后在该目录下运行swingbench执行测试,修改数据库连接名,用户连接数设置为300,测试时间设置为10分钟

wKiom1Qx2v6S6yjvAAKAl63J5mg784jpg

修改Distributed Controls用于测试过程中搜集测试监控信息,修改完之后测试连接是否正常, 并可以统计主机的cpu disk IO 信息

wKioL1Qx24DDSssqAAFmiLc2VSU132jpg

还可以 拉出AWR报表

wKioL1Qx3O2gzw45AADH_p4CEeQ979jpg

设置 insert,update ,select的比例

wKioL1Qx3RHB32ITAAEK9ABjiPI261jpg

设置完成之后,点击左上角绿色按钮执行测试

wKiom1Qx24zgsNQ-AAEJ51YcKSs614jpg

wKiom1Qx3QaxFssnAAGpJeiYV6Q924jpg

测试结果可保持为XML文档,

以上就是关于如何测试数据库的安全全部的内容,包括:如何测试数据库的安全、数据库要输入大量数据做测试,请教方法、如何对数据库中表进行查询,怎么做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9292881.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存