数据库面试问题问题

IBM Knowledge Center数据库推荐图书
译者:金成姬 陈绍英
本书是Inside Microsoft SQL Server 2000的作者Kalen Delaney的又一经典著作,是Inside Microsoft SQL Server 2005系列四本著作中的一本。书中详细介绍了如何使数据查询更加高能高效,同时使现有资源最大化的方法。
作者:网易DBA小组
本书最大的特点就是实战性强,通过循序渐进的内容组织,配以深入浅出的文字论述和丰富的实例对MySQL进行了系统、详细的介绍。本书从基础入手,面向实际应用,力图让读者从多个角度对MySQL有深入的认识和理解。
作者:钟鸣
本书是经典名著《Oracle 10g数据库管理艺术》一书的姊妹篇,通过示例全面而又详细地讲述了Oracle 11g的新特性,讲述了更改管理、数据库自动化、性能管理、故障诊断、存储管理、安全管理、性能管理、应用开发、数据仓库等各个方面的改进和创新。
作者:牛新庄
针对DB2初学者,本书循序渐进地把DB2所涉及的众多概念介绍给大家。客户端连通性、实例、数据库、表空间和缓冲池、数据移动、备份恢复、故障诊断、锁与并发,以及数据库安全都是本书关注的重点。
数据库其他图书
???????????????
&& && && &&
(点击刷新验证码)
51CTO旗下网站打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
数据库在metaspoit中是相当重要的,当做一个大型渗透测试项目的时候,收集到的信息是相当大的,当和你的同伴一起协同作战的时候,你们可能在不同的地方,所以数据共享很重要了!而且Metasploit还可以兼容一些扫描软件,例如NMAP、Nusess、Nexpose等扫描软件,我们可以将扫描结果保存为XML文件,然后交给Metasploit做漏洞利用….
因此在metasploit中使用数据库来完成以上的工作!
问题一:如何安装数据库并且和Metasploit兼容
首先metasploit,默认使用的是postgresql数据库.在BT5或是Kali等专业的渗透系统中,postgresql已经被默认安装。如果使用的不是bt5,而是像ubuntu12.04等Liunx发行版,metasploit也是自己安装的,所以就需要自己安装postgresql数据库啦。
首先我们安装数据库:
sudo apt-get install postgresql-8.4 postgresql-client-8.4
sudo apt-get install postgresql-8.4 postgresql-client-8.4
安装好了过后就创建用户密码和数据库:
1. su –postgres
#进入数据库
2. createdb nmap
#创建数据库
3 createuser nmap
这儿要求你输入密码,我设置的是namp。输入后确定就ok,然后输入exit退出
接着就是进入msfconsole设置MSF与postgresql数据库相关联
进入了msf shell之后,利用以下命令连接数据库:
db_connect nmap:nmap@127.0.0.1/nmap
db_connect nmap:nmap@127.0.0.1/nmap
然后会看见msf的一些输出,这些是初始数据,第一次关联数据库会有,第二次就没了。
等待输出完成之后,我们再输入命令db_status测试下是否链接好了
如果看到以下的回显,证明数据库已经成功和MSF相关联:
postgresql conneted to nmap
问题二:postgres数据库的开启与查看端口
首先查看数据库服务是否开启,在shell输入以下命令:
netstat -tnpl | grep postgres
<div class="crayon-num" data-line="crayon-5a18f
netstat -tnpl | grep postgres
如果开启,记下端口
如果没有,我们进入/etc/init.d/目录,shell命令:ls | grep postgres,找到metasploit-postgres,shell命令:./metasploit-postgres
start,即可开启postgres服务,如果要关闭用stop即可。开启后,记下端口。
问题三:查看postgres数据库的默认密码并连接数据库
用户名和密码放在/opt/metasploit/config/database.yml这个配置文件中,vim打开查看即可。文件的格式如下文所示:
development:
adapter: "postgresql"
database: "msf3dev"
username: "msf3"
password: "4bfedfc2"
port: 7337
host: "localhost"
timeout: 5
1234567891011121314151617
development:&adapter: "postgresql"&database: "msf3dev"&username: "msf3"&password: "4bfedfc2"&port: 7337&host: "localhost"&pool: 256&timeout: 5
进入metasploit命令行界面:使用命令db_connect 连接数据库,具体命令:db_connect username:password@localhost:端口号/数据库名 。
针对上文的配置,我们的连接命令就是:
db_connect
msf3: 4bfedfc2@127.0.0.1:7337
db_connect&&msf3: 4bfedfc2@127.0.0.1:7337
问题四:提示端口错误,需要修改postgres默认端口
BT5R3上默认安装的postgresql监听端口是7337。如果想改变监听的端口,解决方法如下:
修改/opt/metasploit/postgresql/data/postgres.conf中port = 5432
然后再根据问题二开启postgres数据库即可。
问题五:提示ENCODING错误
首先我们进入数据库:
–postgres
然后再使用UTF8编码新建数据库:
createdb msfbook -E UTF8 -T templat0
最后,敲入db_connect postgres@127.0.0.1/msfbook
会有一堆创建数据表的语句输出,表明执行无问题。
使用db_status检查,提示正常。
问题六 :觉得postgres数据库不爽,想换Mysql数据库
先启动msfconsole,首先看看有什么可用的数据库:
Msf &db_driver
[*]Active Driver:postgresql
[*]Available:postgresql,mysql
<div class="crayon-num" data-line="crayon-5a18f<div class="crayon-num crayon-striped-num" data-line="crayon-5a18f<div class="crayon-num" data-line="crayon-5a18f<div class="crayon-num crayon-striped-num" data-line="crayon-5a18f<div class="crayon-num" data-line="crayon-5a18f
Msf &gt;db_driver&[*]Active Driver:postgresql&[*]Available:postgresql,mysql
Active Driver: postgresql说明现在默认的数据库是postgresql
Available:postgresql,mysql说明MSF支持的数据库有postgresql和mysql
我们可以使用以下的命令切换默认数据库:
Msf &db_driver mysql
[*]Active Driver:mysql
此时已经成功切换到mysql数据库啦
小编注:在最近一些MSF的版本中,Rapid7已经不再支持Mysql数据库了,因此db_driver命令已经不再有效。
参考资料:
《Backtrack中metasploit连接postgres数据库》
《metasploit使用postgresql数据库》
《Metasploit控制台连接postgresql数据库问题》
《MSF渗透测试指南》
《MSF渗透测试手册》
小编语:早上自行安装最新版的MSF,不知道是最近参加了暴走漫画的九月不撸活动还是怎么地,数据库死活就是连接不上。最终求教度娘快一天了,试了各种不同的方法,终于把数据库给连接上了。我想,小编的问题也应该是大家共有的问题(不是参加九月不撸活动的问题),所以就把我遇到的问题和在网上找到的解决的方法整理一下,让大家有个参考。
日币奖励:
本文为总结文章,作者参考了多种资料,并且将问题做了整理,根据本站给予日币奖励共4枚。
AD:本站开放投稿及积分(日币),日币可兑换实物奖励,每月top3可获得礼品一份。查看:5687|回复:16
前一段时间把EXCEL和SQL都移到同一个服务器上了,一段时间内没有什么问题,最近数据库经常出问题,有一部分人在用的时候会断开并报错(下图),再连得话就能连上了,但是过一段时间后还会出现这种情况,就是不定期的,我们用的是破解的SQL企业版,现在的主要问题是判断不出是数据库问题还是网络的问题,用ping命令ping服务器丢包率小于1%,在客户端上浏览服务器也没有问题,请高手帮忙看一下。
(26.98 KB)
详细提问 积极提问
偶建议你先判断一下是,问题是出在程序还是数据库
在断线的时候,在客户端机器上用OSQL或者查询分析器连数据库试一下
如果在断线的时候,用OSQL或查询分析器可以连接数据库,那应该怀疑应用程序有没有问题
另,你的程序是怎么连接数据库的?是专用接口还是ODBC?
依据你的提供的信息来看,比较象应用程序写法问题,造成死锁?
SQL死锁可以用 select&&* from sysprocesses&&where blocked &&0 来查询 死锁spid
然后 kill 此spid,不过这种方法指标不治本,还是找到造成死锁的原因才能彻底解决问题……
本帖最后由 quickhunt 于
15:02 编辑
出来混,迟早要还的!
先谢谢两位,我去试一下!
学习了。谢谢。。。
初级工程师
应该不是死锁的原因,重点还是检查下网络
我是学网络的,对数据库这块不是很了解,(SQL里边有很多小库,我们的员工用相应的软件通过网络连接到各个小的数据库,然后从上边查看(下载)或者写入(上传)这是我了解的数据库)。数据库以及连接数据库的软件正常使用的话应该不会出现什么问题吧,没有其他的误操作。上述问题是瞬间断开的,然后再连得话就可以连上了,所以2楼测试的话没法测试,还有就是如果把网线拔掉的话会出现上述图中的情况,会不会是网络的问题呢,已经在网络板块中发帖了。2楼的提到的应用程序使我们用来连接数据库的客户端软件吗?接口用的应该不是专用接口。
积极参与讨论
中级工程师
我认为是数据库没打补丁,我以前遇到过lz附近里面的提示,dbprocess is
dead。。。然后打上补丁就没事了
菜```要多多学习
谢谢了、、、、、、、、、、、、、、、、、、、
谢谢了、、、、、、、、、、、、、、、、、、、
谢谢了、、、、、、、、、、、、、、、、、、、
中级工程师
我以前遇到过的,打上补丁就OK了
貌似网络问题...LZ是什么版本的SQL SERVER
看过··学习了~~
没有碰到过&&学习学习}

我要回帖

更多关于 java数据库笔试问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信