Вчора дуже багато моїх сайтів впало (та й досі лежать) через те, що було велике навантаження на сервер. Хтось масово відсилав приватні повідомлення всередині форуму IPB. Так ось, виявилось, що давно я не звертав увагу, а на форумі вже зареєструвалось близько 150 тисяч роботів. Коли я глянув на розмір бази даних MySql – було шось близько 1 Гбайту. Це включало в себе профілі користувачів, внутрішні повідомлення, логи пошукових систем та інше. Через панель управління видалити це швидко не вийде, адже не вистачає ресурсів системи для обробки такої кількості інформації.
Так ось, ці проблеми можна вирішити через певні SQL-запити, які Ви побачите далі. Раджу “почистити” Ваш форум IPB – так як база даних може розростатись до величезних розмірів… А також це нікому не потрібні навантаження на сервер.
Видалити всі приватні повідомлення:
TRUNCATE ibf_message_topics;
TRUNCATE ibf_message_text;
UPDATE ibf_members SET new_msg = ‘0’, msg_total = ‘0’ WHERE id>0;
Видалити всі логи пошукових павуків:
Truncate TABLE ibf_spider_logs
Видалити користувачів, у яких 0 повідомлень
DELETE FROM ibf_members WHERE Posts = 0
Замінити певний текст у всіх повідомленнях на форумі:
UPDATE ibf_posts SET post = REPLACE(post,’старий текст‘,’новий текст‘);
Замінити текст у всіх описах форумів:
UPDATE ibf_forums SET Description = REPLACE ( description , ‘старий текст‘ , ‘новий текст‘ );
Очищення журналу попереджень конкретного користувача
де X – вставити id користувача, чий журнал ви хочете очистити.
Delete From ibf_warn_logs WHERE wlog_mid = X
Видалити підписи у всіх користувачів
Update ibf_member_extra Set Signature = ‘Ваш підпис видалено’ ;
Видалення модераторів
Delete From ibf_moderators
Видалення модератора з усіх форумів
Delete FROM ibf_moderators WHERE member_id = XX
Видалення модератора з певних форумів
Delete FROM ibf_moderators WHERE member_id = XX AND forum_id In ( 5 , 10 , 20 )
Видалення аватарів у всіх користувачів
Delete FROM ibf_member_extra WHERE avatar_location AND avatar_size
Масове перенесення користувачів з певною кількістю повідомлень з однієї групи в іншу:
Update ibf_members Set mgroup = B WHERE mgroup = А AND Posts > 0
Видалити користувачів певної групи, де a міняєте на номер групи
Delete FROM ibf_members WHERE mgroup = ‘b’ ;
Видалити всi ICQ номери користувачів
Update ibf_member_extra Set icq_number = ” ;
Видалити посилання на сайт у всіх користувачів
Update ibf_member_extra Set Website = ” ;
Зняття обов’язкового підтвердження модератором
UPDATE ibf_members SET mod_posts = ” ;
Зняття тільки читання / read_only
UPDATE ibf_members SET restrict_post = ” ;
Очищення журналу:
DELETE FROM ibf_warn_logs WHERE wlog_mid = id_користувача
Видалення всіх встановлених смайликів, тобто вони переходять в список невстановлених смайликів
Delete FROM ibf_emoticons
Установка кодування і порівняння БД за замовчуванням
ALTER DATABASE `назва_бд ` DEFAULT CHARACTER SET cp1251 Collate cp1251_general_ci
Анулювати лічильник повідомлень у всіх користувачів:
Update ibf_members Set Posts = 0 ” ;
Анулювати лічильник повідомлень у певних груп:
Update ibf_members Set Posts = 0 ” WHERE mgroup = ‘номер_групи’ ;
Видалення всіх повідомлень надісланих гостями
Delete FROM ibf_posts WHERE author_id = 0 ” ;
Замінити текст у всіх описах тем
UPDATE ibf_topics SET Description = REPLACE ( description , ‘старий текст’ , ‘новий текст’ );
Видалити всі теми, створені гостями
Delete FROM ibf_topics WHERE starter_id = 0 ” ;
Видалити всі повідомлення на форумі:
Delete FROM ibf_topics WHERE author_mode = ‘1 ‘ ;
Закрити всі відкриті теми
UPDATE ibf_topics SET State = ‘closed’ WHERE State = ‘open’
Відкрити всі закриті теми
UPDATE ibf_topics SET State = ‘open’ WHERE State = ‘closed’
Скасувати всі попередження
UPDATE ibf_members SET warn_level = 0
Перемістити форум в іншу категорію (A i B – номери категорій)
UPDATE ibf_forums SET parent_id = A WHERE parent_id = B
Скинути кількість переглядів профілю користувача (C – id користувача)
UPDATE ibf_members SET members_profile_views = 0 WHERE ID = C
Скинути кількість переглядів профілів всіх користувачів
UPDATE ibf_members SET members_profile_views = 0
Видалити лог завдань
Truncate TABLE ibf_task_logs
Видалити всі рейтинги профілів користувачів
Truncate TABLE ibf_profile_ratings
Видалити всіх друзів у всіх користувачів
Truncate TABLE ibf_profile_friends
Видалити всі коментарі користувачів
Truncate TABLE ibf_profile_comments
Видалити всі логи email
Truncate TABLE ibf_email_logs
Видалити всі БАН фільтри
Truncate TABLE ibf_banfilters
Видалити всі погані слова з фільтру
Truncate TABLE ibf_badwords
Видалити всі логи адміна
Truncate TABLE ibf_admin_logs
Видалити всі логи входу адміна
Truncate TABLE ibf_admin_login_logs
Вийти всім користувачам
Truncate TABLE ibf_sessions
Видалити модератора
DELETE FROM ibf_moderators WHERE member_id = m
Перемістити користувачів, у яких 0 повідомлень в іншу групу
UPDATE ibf_members SET mgroup = N WHERE Posts = 0 AND mgroup = o