1. Важное и срочное обновление IPB 3.4.5 - https://nulled.cc/threads/243375/

[Помощь] Тотальная очистка базы

Тема в разделе "IPB", создана пользователем Kosiak, 12 июл 2009.

Статус темы:
Закрыта.
Модераторы: Maybe
  1. Kosiak

    Kosiak

    Регистр.:
    12 сен 2006
    Сообщения:
    614
    Симпатии:
    73
    При переезде на версию 3.0 хочется почистить базу от накопившегося в ней с годами мусора, как от различных хаков, так и от мусора пользователей (и спаммеров).
    Идея такая:
    - удалить все пользовательские подписи, в котрых содержится хотя бы намёк на ссылки
    - удалить сайты пользователей из профиля
    - попробовать удалить (опционально) вообще все внешние ссылки (в связи с новыми алгоритмами Google nofollow стал неактуален).
    - удалить все таблицы и поля, которых не должно быть в оригинальном движке ipb 2.3 (очистка от модов)
     
  2. Oleg17

    Oleg17 Постоялец

    Регистр.:
    11 янв 2009
    Сообщения:
    116
    Симпатии:
    14
    По поводу удаления ссылок в сообщениях/профилях, можно сделать запрос типа такого, соответственно, для каждой таблицы:
    PHP:
    UPDATE ipbposts SET post=REPLACE(post'www.address.com''***');
    Что касается корректного обновления, вот можно сделать так:

    1. Делаем резервные копии всех файлов старого форума, а также полный дамп БД старого форума.

    2. Удаляем все из корневой папки, кроме файла conf_global.php

    3. Заливаем чистый форум IPB на это место

    4. Запускаем из веб файл /upgrade/upgrade.php

    5. Запускаем из веб файл /upgrade/index.php

    6. Заходим в админку, дальше LOOK & FEEL, дальше удаляем все кроме Default.

    Теперь необходимо привести в порядок обновленную БД.

    1. Необходимо рядом поставить еще один абсолютно чистый IPB форум с отдельной БД. Ставим.

    2. Мы имеем сейчас 2 БД, одну неправильную но с данными, одну правильную но без данных. Необходимо синхронизировать эти 2 БД.

    3. Качаем программу MySQL DB Comparer, запускаем, создаем новый проект, где указываем в качестве первой БД – БД чистого IPB без данных, в качестве второй БД – БД нашу обновленную БД. Запускаем.

    4. Слева зеленым выделены таблицы которых нет в чистой IPB и которые мы можем смело удалять в своей обновленной БД, например с помощью PhpMyAdmin. Удаляем.

    5. Дальше справа, отобразились различия в БД, которые нужно устранить(удаление столбцов в таблицах, их изменение), нажимаем Execute All Scripts, т.е. налаживаем изменения.

    6. Все, мы привели обновленную БД в порядок, готовую к установке новых модификаций под IPB.
     
  3. Дизуля

    Дизуля

    Регистр.:
    20 июн 2009
    Сообщения:
    176
    Симпатии:
    18
    а как удалить все ненужные таблицы в базе данных от модов и оставить девственную базу данных?
     
  4. Kosiak

    Kosiak

    Регистр.:
    12 сен 2006
    Сообщения:
    614
    Симпатии:
    73
    Это если мы знаем адрес. А я предлагаю удалить все ссылки. Тут значит маска какая-то быть должна. Типа: httр://* но вот как храняться ссылки в подписях в базе сейчас не вспомню...

    Жутковатая метода :) Но что-то в этом есть...

    Про таблицы это понятно - я их и на глаз удалить могу, а вот с полями - это проблема... Можно конечно и так попробовать, но ошибиться тут вполне можно и про ошибку узнать не сразу...
    Автоматическое бы решение - скрипт, который с дампом работает...
    Было раньше решение при апгрейде. Скрипт, который вычищал базу. А вот для новой версии найти не могу никак :(
     
  5. Oleg17

    Oleg17 Постоялец

    Регистр.:
    11 янв 2009
    Сообщения:
    116
    Симпатии:
    14
    Читай пост выше, там это написано.

    Ну даа, надо будет как-то несколько запросов давать, используя маски, вроде http:// www. и т.п. А в подписях ссылки хранятся, насколько я понимаю, также. Таблица, если не ошибаюсь, ipbusers что-ли.

    Так я про это и пишу :) Сначала удаляем отсутствующие таблицы, при сравнении с чистой базой, а затем уже исправляем поля - п.5 )
    Я таким образом обновлялся с 1.3 до 2.x Все сработало правильно и база была вычищена, различий не осталось.
     
Статус темы:
Закрыта.