RU/How to repair the database files

From Multi Theft Auto: Wiki

Может быть, все в порядке

Бывают ситуации, когда не о чем беспокоиться. Ответьте на следующие вопросы:

  • Пришли ли вы на эту страницу из-за увиденного сообщения в консоли сервера или логах?
  • Есть ли следующий текст в начале блока сообщений-ошибок?
   ERROR: near "3": syntax error
  • Если это так, то все OK. Вам не нужно делать ничего из описанного ниже, а ошибку можно смело проигнорировать.

Предупреждения

Сделайте резервные копии всех файлов перед попыткой восстановления!
Выключите сервер перед восстановлением!

Windows

Простой способ

  • Скачайте это
  • Распакуйте архив и положите файлы по пути server/mods/deathmatch/
  • Дважды кликните по sqlite_repair_internal_db.bat, чтобы восстановить internal.db
  • Дважды кликните по sqlite_repair_registry_db.bat, чтобы восстановить registry.db

Сложный способ

  • Скачайте sqlite-shell-win32 отсюда. Если ссылка не сработает, главная страница закачки здесь.
  • Распакуйте архив и поместите sqlite3.exe в server/mods/deathmatch/
  • Откройте командную строку и перейдите в папку server/mods/deathmatch/
  • Чтобы восстановить internal.db:
    • Скопируйте internal.db, переименовав в internal_original.db
    • Пропишите следующую команду: sqlite3.exe internal_original.db .dump | sqlite3.exe internal_repaired.db
    • Скопируйте internal_repaired.db, переименовав в internal.db
  • Чтобы восстановить registry.db:
    • Скопируйте registry.db, переименовав в registry_original.db
    • Пропишите следующую команду: sqlite3.exe registry_original.db .dump | sqlite3.exe registry_repaired.db
    • Скопируйте registry_repaired.db, переименовав в registry.db


Linux

Единственный способ

(Вы можете воспользоваться простым способом, скопировав БД из linux в windows, а затем воспользовавшись методами для компьютеров с windows)

  • Скачайте sqlite-shell-linux отсюда. Если ссылка не сработает, главная страница закачки здесь.
  • Распакуйте архив и поместите sqlite3 в server/mods/deathmatch/
  • Чтобы восстановить internal.db:
    • Скопируйте internal.db, переименовав в internal_original.db
    • Пропишите следующую команду: ./sqlite3 internal_original.db .dump | ./sqlite3 internal_repaired.db
    • Скопируйте internal_repaired.db, переименовав в internal.db
Click to expand [+]
Commands
  • Чтобы восстановить registry.db:
    • Скопируйте registry.db, переименовав в registry_original.db
    • Пропишите следующую команду: ./sqlite3 registry_original.db .dump | ./sqlite3 registry_repaired.db
    • Скопируйте registry_repaired.db, переименовав в registry.db
Click to expand [+]
Commands