RU/How to repair the database files: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 14: Line 14:


==Простой способ==
==Простой способ==
*Скачайте [http://updatesa.mtasa.com/sa/files/sqlite/mtasa-db-repair-win.zip это]
*Скачайте [https://mirror-cdn.multitheftauto.com/files/mtasa-db-repair-win.zip это]
*Распакуйте архив и положите файлы по пути ''server/mods/deathmatch/''
*Распакуйте архив и положите файлы по пути ''server/mods/deathmatch/''
*Дважды кликните по ''sqlite_repair_internal_db.bat'', чтобы восстановить internal.db
*Дважды кликните по ''sqlite_repair_internal_db.bat'', чтобы восстановить internal.db
Line 21: Line 21:
==Сложный способ==
==Сложный способ==


*Скачайте sqlite-shell-win32 [http://www.sqlite.org/sqlite-shell-win32-x86-3070700.zip отсюда]. Если ссылка не сработает, главная страница закачки [http://www.sqlite.org/download.html здесь].
*Скачайте sqlite-tools-win32 [https://www.sqlite.org/2022/sqlite-tools-win32-x86-3400000.zip отсюда]. Если ссылка не сработает, главная страница закачки [https://www.sqlite.org/download.html здесь].
*Распакуйте архив и поместите sqlite3.exe в ''server/mods/deathmatch/''
*Распакуйте архив и поместите sqlite3.exe в ''server/mods/deathmatch/''
*Откройте командную строку и перейдите в папку ''server/mods/deathmatch/''
*Откройте командную строку и перейдите в папку ''server/mods/deathmatch/''
Line 39: Line 39:
==Единственный способ==
==Единственный способ==
(Вы можете воспользоваться простым способом, скопировав БД из linux в windows, а затем воспользовавшись методами для компьютеров с windows)
(Вы можете воспользоваться простым способом, скопировав БД из linux в windows, а затем воспользовавшись методами для компьютеров с windows)
*Скачайте sqlite-shell-linux [http://www.sqlite.org/sqlite-shell-linux-x86-3070700.zip отсюда]. Если ссылка не сработает, главная страница закачки [http://www.sqlite.org/download.html здесь].
*Скачайте sqlite-tools-linux-x86 [https://www.sqlite.org/2022/sqlite-tools-linux-x86-3400000.zip отсюда]. Если ссылка не сработает, главная страница закачки [https://www.sqlite.org/download.html здесь].
*Распакуйте архив и поместите sqlite3 в ''server/mods/deathmatch/''
*Распакуйте архив и поместите sqlite3 в ''server/mods/deathmatch/''
*Чтобы восстановить internal.db:
*Чтобы восстановить internal.db:
Line 45: Line 45:
**Пропишите следующую команду: '''./sqlite3 internal_original.db .dump | ./sqlite3 internal_repaired.db'''
**Пропишите следующую команду: '''./sqlite3 internal_original.db .dump | ./sqlite3 internal_repaired.db'''
**Скопируйте '''internal_repaired.db''', переименовав в '''internal.db'''
**Скопируйте '''internal_repaired.db''', переименовав в '''internal.db'''
<section name="Commands" class="server" show="false">
<syntaxhighlight lang="lua">
cp internal.db internal_original.db
./sqlite3 internal_original.db .dump | ./sqlite3 internal_repaired.db
cp internal_repaired.db internal.db
</syntaxhighlight>
</section>


*Чтобы восстановить registry.db:
*Чтобы восстановить registry.db:
Line 50: Line 57:
**Пропишите следующую команду: '''./sqlite3 registry_original.db .dump | ./sqlite3 registry_repaired.db'''
**Пропишите следующую команду: '''./sqlite3 registry_original.db .dump | ./sqlite3 registry_repaired.db'''
**Скопируйте '''registry_repaired.db''', переименовав в '''registry.db'''
**Скопируйте '''registry_repaired.db''', переименовав в '''registry.db'''
[[Category: Support]]
<section name="Commands" class="server" show="false">
<syntaxhighlight lang="lua">
cp registry.db registry_original.db
./sqlite3 registry_original.db .dump | ./sqlite3 registry_repaired.db
cp registry_repaired.db registry.db
</syntaxhighlight>
</section>
 
[[Category:Поддержка]]
[[en:How to repair the database files]]
[[en:How to repair the database files]]

Latest revision as of 23:36, 26 December 2022

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

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

  • Пришли ли вы на эту страницу из-за увиденного сообщения в консоли сервера или логах?
  • Есть ли следующий текст в начале блока сообщений-ошибок?
   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-tools-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-tools-linux-x86 отсюда. Если ссылка не сработает, главная страница закачки здесь.
  • Распакуйте архив и поместите 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