前言: 最近也在玩数据库,感觉普通机子搞数据库,还是差了点,全文查找,慢的要查一分钟更久。 
但是搞cmd5库很不错,亿级数据库,毫秒级。 
qq 944520563
好吧,下面开始,首先你得需要一个mysql数据库,推荐 
环境 : apmserv5.2.6 php+mysql 
            Navicat for MySQL 
推荐这两个软件,安装非常简单,都是全中文,所以方便新手操作。 
需要的其他东西,电脑一个, 10GB左右的硬盘空间。一个大点的字典。 
mysql搭建亿级cmd5数据库,毫秒级查询 完全过程 Mysql 第1张
下面开始第一部分,打开Navicat for MySQL连接,很简单,这里就不截图了。 
开始建表, hash_cmd5,字段,plaintext,cmd5_16,cmd5_32 
都设置为不为空,第一个255,第二个16, 第三个 32位。 
mysql搭建亿级cmd5数据库,毫秒级查询 完全过程 Mysql 第2张

开始导入数据, 很简单,参考图片,自行琢磨。 
mysql搭建亿级cmd5数据库,毫秒级查询 完全过程 Mysql 第3张

参考自己的数据库源,设置编码 
mysql搭建亿级cmd5数据库,毫秒级查询 完全过程 Mysql 第4张
    参考自己的数据库内容。 
mysql搭建亿级cmd5数据库,毫秒级查询 完全过程 Mysql 第5张

第四,五部直接跳过。 

开始第六步, 只需设置plaintext,其他字段无需设置,但是前提一定要选择找来的数据库明文,不然就没有意义。 
mysql搭建亿级cmd5数据库,毫秒级查询 完全过程 Mysql 第6张

直接到第八步开始,就可以导入数据了。 

大家自己试试吧,下一步教大家批量生成 cmd16  32 位的。 

高速单表导入

假如:你的文本文件在d:\aa.txt 表名: t 字段名:c 则是下面的命令   mysql> load data local infile 'd:/aa.txt' into table cmd5 lines terminated by ',' (cmd5_txt);

 一键创建 32 16位 md5

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。 update `hash` set cmd5_16 = substr(md5(plaintext), 1, 16) where 1=1   update `hash` set cmd5_32 = md5(plaintext) where 1=1

  
至于有的大牛说,这个方法不稳定什么的,单机测试,单表六亿毫无压力 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄