经验分享:社会工程学数据库搭建TIPS

最近一直在搞社工库的搭建。网上这方面也有很多文章,但是很少涉及到细节,在此与大家分享一些个人心得。

测试环境

测试坏境:windows server 2012(x64,16G 内存) ,MySQL-5.0.90,php-5.2.14-Win32 准备工具:coreseek-4.1-win32,Phantom 牛的源码

搭建过程

1,首先查看要索引表的字段,以便于在csft_mysql.conf 文件中配置

我们修改csft_myxql.conf 文件。(coreseek 3.2.14 不支持sql_query_string =)

注意Sql_query 中的字段必须和我们nan1 表中一致、要支持cjk(中,日,韩简写)的查询我们必须用它的专用charset_table

因此我们应当在index mysql 中加入charset_table(因数据量过长此处就省去,请查看我的配置文件)

2,让sphinx 支持实时索引,以便于我们后期解决某个问题。后来发现还是没有解决成功

什么是实时索引就不再纂述了:)

应当添加到index mysql 下方,具体请参照配置文件。修改好配置文件后请用UTF-8 without BOM 格式保存以便程序读取配置文件。

3,建立索引,并启动

因为是测试数据量很小,因此程序启动成功

若数据量超过1 亿将显示内存不足

将mem_limit = 1M 设置成1M 重新建立索引,若还是提示内存不足

将表数据分割,依赖实时索引动态插入数据(ps:如果大牛还有更好的办法请与我联系)

因测试我们用nan4 表做演示

此处我们有三种方法来分割表

Code:create table nan3 select distinct
firstname,lastname,email,username,password,hash,addr1,addr2,jumin1,jumin2,sex,s
sn from nan4;
create table nan3 Select
firstname,lastname,email,username,password,hash,addr1,addr2,jumin1,jumin2,sex,s
sn from nan4 group by
firstname,lastname,email,username,password,hash,addr1,addr2,jumin1,jumin2,sex,s
sn from nan4;
//两句代码效果都一样去除username,password....sex 中内容相同的插入nan3 表,为有人
不理解我是意思,我截图示之,本人表达能力有问题

Group by 语句差不多;

昨晚喳喳同学告诉了我一个直接去除表中重复内容的语句我也贴上来,感谢他了(ps:和他研究了一晚上,没办法啊,人笨。)

Code:delete from temps where id in (select id from (select
id from temps as s where (select count(*) from temps as a
where a.username=s.username and a.password =s.password)>1
and id not in(select id from(select id,count(distinct username,
password) from temps as s where (select count(*) from test4
as a where a.username=s.username and a.password =s.password
)>1 group by username) as sss))as ttt)

注意:此处id:需为自增ID 分割表时不要用limit 参数与distinct 参数混用容易造成卡死,且得多次去重

create table tempss select * from nan3 limit 0,3;
create table temp select * from nan3 limit 3,5;

OK,现在我们已经分成两个表,并手动给两个表添加自增ID(temp id 最大值为4,temps id 最小值为5),我们将一个temp 表建立索引,并启动

话说不知道是我人品的问题还是那啥,因此我们需要稍改一下search.php 的源码

搜索结果

insert into temp select * from tempss;//将tempss 的数据插入到temp

插入后搜索结果

我对不起大家经过我的测试实时索引重启后还是出现内存不足的情况,且只能修改我们索引 后的id 对应字段参数值。(留待大牛解答了)

补充TIPS

如果你恰好有韩国的或者小日本的数据库,又恰好的先导入进去了(入库没啥好说的,数据库编码最好统一为utf8),编码也设置成949 或者euckr

可能下面的语句能帮到您:

create table test4 select username ,password from test1 union
select username,password from test2;
//将test2 表与test1 表比较清除重复后插入test4 中;(ps:字段数据类型可
以不同)
ALTER TABLE test4 DEFAULT CHARACTER SET utf8 COLLATE utf8_gen
eral_ci;
//不解释
alter table nan1 modify column username varchar(50); //修改username 的数据类型
alter table $table add $username varchar(50) null; //添加新字段

程序下载地址,提取码4su4

http://pan.baidu.com/s/1o60snd4

参考文章

http://blog.csdn.net/rulev5/article/details/7572482

http://tesfans.org/using-sphinx-search-engine-with-chinese-japanese-and-korean-language-docume nts/

http://zone.wooyun.org/content/9377

欢迎志同道合的朋友与我交流:InN0t@outlook.com,作者:InN0t

[本文由作者InN0t撰写并投稿FreeBuf,版权属于InN0t,转载请注明来自FreeBuf.COM]

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2014-12-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

ElasticSearch优化系列三:索引过程

大家可能会遇到索引数据比较慢的过程。其实明白索引的原理就可以有针对性的进行优化。ES索引的过程到相对Lucene的索引过程多了分布式数据的扩展,而这ES主要是用...

4029
来自专栏数据和云

实战课堂:系统CPU高消耗的SQL筛选和最佳索引优化

在一次客户系统性能优化项目中,经过第一阶段的优化之后,数据库的DB Time和物理读都明显降低,但是我们发现CPU并没有明显降低。

1274

所有您需要了解的关于Elasticsearch 5.0:索引管理

我们看到两种主要的Elasticsearch索引使用模式 - 全局索引和滚动索引。多年来,Elasticsearch增加了一些功能,可以极大地改善这些模式的工作...

4203
来自专栏美团技术团队

数据库运维必读的10个问题

本文中的问题精选自上期【你问我答】——数据库专题中读者的提问。【你问我答】是由美团点评技术团队推出的线上问答服务,你在工作学习中遇到的各种技术问题,都可以通过我...

37811
来自专栏软件开发

Word基础

1、页面设置 默认大小A4,长宽比0.618 页面布局 ? 2、字体设置 选择要设置的字体->右键->字体 ? 3、选择性粘贴 ? 4、段落设置 选择文字->右...

3389
来自专栏杨建荣的学习笔记

物化视图自动刷新的碰壁(r7笔记第61天)

今天和开发的同事讨论一个问题,他们说source 1的环境中存在一个表,现在希望目标环境target 1和target 2中都需要用到这部分的数据。 ? 对...

3634
来自专栏后端技术探索

当规模到亿级,MySQL是一个更好的NoSQL!

MySQL是一个更好的NoSQL数据库。当考虑到NoSQL的使用案例,比如对Key/Value键值存储来讲,MySQL在性能、易用性和稳定性方面更有意义。MyS...

1291
来自专栏禁心尽力

会优化,你真的会优化吗?其实你可能真的缺少一份理解【数据库篇】

  其实,在写这篇博客之前,我也是感觉自己会点优化,至少知道不要使用“*”号啊,给经常查询的列创建索引啊什么的,其实都不是大家想的那样简单的,其实它们背后存在很...

1986
来自专栏张善友的专栏

SQLite vs MySQL vs PostgreSQL:关系型数据库比较

自1970年埃德加·科德提出关系模型之后,关系型数据库便开始出现,经过了40多年的演化,如今的关系型数据库种类繁多,功能强大,使用广泛。面对如此之多的关系型数据...

2905
来自专栏杨建荣的学习笔记

这样分析一个死锁问题

之前也列举了几期的MySQL死锁问题,光有操作演练,还缺少一些自己的分析,所以我就打算补充一下。 首先对于死锁问题,我们分析的背景是基于MySQL事...

2954

扫码关注云+社区

领取腾讯云代金券