kam*_*ine 1 mysql email email-address extract
我可以访问MYSQL Server,其中包含2000多个数据库.我想扫描所有数据库以获取保存在数据库表中的所有电子邮件地址.
那么请你给我一个从所有数据库中提取电子邮件地址的解决方案!
我已经拥有root权限和phpmyadmin.
谢谢
如果您可以访问所有表(即以root身份),则可以转储所有表和grep电子邮件地址,如下所示:
mysqldump -u root -p --all-database | egrep -i "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"
Run Code Online (Sandbox Code Playgroud)
我使用的正则表达式来自这里:http: //www.regular-expressions.info/email.html
编辑:上面的命令将打印包含电子邮件地址的整行,而不管列.如果您有电子邮件专用列,则只能通过一些修改打印电子邮件:
mysqldump -u root -p --all-database | perl -pe "s/,/\n/g; s/'//g;" | egrep -i "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"
Run Code Online (Sandbox Code Playgroud)
这将删除周围的引号.