My wiki collected a lot of spam over the past few months, so I've blocked it to only registered users. Unfortunately I never turned off user registration. Is it possible to block a lot of user accounts at once, or should I just restart?
Connect to your mysql server:
mysql -h DBSERVER_HOST -u wikiuser wikidb -p
Enter your password at the prompt. Once in mysql prompt, search for the user
mysql> select user_id,user_name from user; +---------+------------+ | user_id | user_name | +---------+------------+ | 9 | spammer | | 7 | r2d2 | | 1 | admin | +---------+------------+
Delete every "user_id" you need with:
mysql> delete from user where user_id in(7,9);
The quickest and least invasive way to prevent a big list of registered users from making modifications is probably to do a bulk password change for the unwelcome users.
Assuming you're running a Unix-like, and that the list of folks you want to keep is relatively low:
eg., for MySQL:
Generating a different password for each user is left as an exercise for the reader. :-)