Com base nas consultas SQL de Stan Sokolov, consegui limpar uma bagunça horrível no meu wiki - eu não monitorei por meio ano e estava cheio de spam.
Eu tive que limpá-lo de uma data específica.
Se você vai tentar o mesmo, por favor faça um backup primeiro - essas consultas sql podem destruir seu wiki, matar gatinhos e causar gravidez.
Neste exemplo, "tr_" é o meu prefixo, "189" é o id da última página, "41" é o último id do usuário e "20130215152547" é a primeira data de entrada do spam.
#Update page state to last good before the date
UPDATE tr_page p SET p.page_latest=( SELECT MAX(r.rev_id) FROM tr_revision r
WHERE r.rev_page=p.page_id
AND rev_timestamp <20130215152547) WHERE p.page_id IN
(SELECT r2.rev_page FROM tr_revision r2 WHERE rev_timestamp >=20130215152547);
#Update page length to match actual
UPDATE tr_page p SET p.page_len=( SELECT r.rev_len FROM tr_revision r WHERE
r.rev_page=p.page_id AND r.rev_id=p.page_latest );
#Clean up spam revisions
DELETE FROM tr_revision WHERE rev_timestamp >=20130215152547;
#Clear recent changes
DELETE FROM tr_recentchanges WHERE rc_timestamp >=20130215152547;
#Block all new bad users from ever entering wiki with this login
UPDATE tr_user SET
user_password = '',
user_newpassword = '',
user_email = '',
user_token = ''
WHERE user_id>41;
#Delete pages, staring from the last good id
DELETE FROM tr_page WHERE page_id>189;
#Also, you will need TO clean TABLE tr_pagelinks.
#You will have to do it manually. It's easy, use some editor
#like PHPMyAdmin or SQLyog
#Clean cache
DELETE FROM 'tr_objectcache';
DELETE FROM 'tr_querycache';
DELETE FROM 'tr_querycachetwo';