mysql: получить все адреса электронной почты из мультибазы данных? - PullRequest
1 голос
/ 06 декабря 2011

У меня есть доступ к MYSQL Server с более чем 2000 базами данных. Я хочу просканировать все базы данных, чтобы получить все адреса электронной почты, сохраненные в таблицах баз данных.

Так, пожалуйста, дайте мне решение для извлечения адреса электронной почты из всех баз данных!?

У меня уже есть права root и phpmyadmin.

Спасибо

1 Ответ

5 голосов
/ 06 декабря 2011

Если у вас есть доступ ко всем таблицам (то есть с правами суперпользователя), вы можете сбросить все таблицы и адрес электронной почты grep, например:

mysqldump -u root -p --all-database | egrep -i "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"

Регулярное выражение, которое я использовал, взято отсюда: http://www.regular -expressions.info / email.html

Edit: Команда выше напечатает целые строки, содержащие адрес электронной почты, независимо от столбца. Если у вас есть специальные столбцы для электронной почты, вы можете распечатать только электронную почту с небольшими изменениями:

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"

Это удалит также окружающие кавычки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...