Восстановление базы данных SQLite в SEoDOR’e

| 31.01.2014 | 0 Comments

Восстановление БД SQLite SEoDOR работает с базой SQLite, для которой не нужно создавать никаких таблиц, вводить логин:пароль и тд. Но бывают такие ситуации, когда нужно восстановить бекап доров либо перенести их на другой сервер. Тогда базы SQLite иногда «повреждаются» и, при обращении к странице дора, браузер выдает такую ошибку:
 
HY000 11 database disk image is malformed

Восстановление БД SQLite для SEoDOR 3.5-
Восстановление БД SQLite для SEoDOR 5+

Восстановление БД SQLite для SEoDOR 3.5-

Перед всеми манипуляциями сделайте бекап файлов!

 

Через SSH переходим в папку кеша:

cd /var/www/user/data/www/dor.ru/cache

В папке кеша имеются несколько файлов баз данных SQLite, которые требуют восстановления:
dor.ru_images.db
dor.ru_links.db
dor.ru_map_all.db
dor.ru_pages.db

Выполняем команды (делаем дамп -> удаляем старый файл базы -> восстанавливаем новую базу из дампа для 4-х файлов выше):

sqlite3 dor.ru_images.db ".dump" > dump.sql
rm -f dor.ru_images.db
sqlite3 -init dump.sql dor.ru_images.db
.quit
sqlite3 dor.ru_links.db ".dump" > dump.sql
rm -f dor.ru_links.db
sqlite3 -init dump.sql dor.ru_links.db
.quit
sqlite3 dor.ru_map_all.db ".dump" > dump.sql
rm -f dor.ru_map_all.db
sqlite3 -init dump.sql dor.ru_map_all.db
.quit
sqlite3 dor.ru_pages.db ".dump" > dump.sql
rm -f dor.ru_pages.db
sqlite3 -init dump.sql dor.ru_pages.db
.quit

удаляем папку _rezervuar и файл dor.ru_index_or_cat.db (их можно было бы также восстановить, но не будем этого делать, т.к. они создадутся сами):

rm -rf _rezervuar
rm -f dor.ru_index_or_cat.db

Выставляем владельца, который нужен (48 — владелец:группа, у вас могут быть другие данные):

chown -R user:user /var/www/user/data/www/dor.ru/cache

Теперь переходим на страницу дора и радуемся :)

Если выдало ошибку, типа:

Warning: Invalid argument supplied for foreach() in /var/www/user/data/www/dor.ru/functions.php on line 1181

то просто обновите страницу несколько раз.

Восстановление БД SQLite для SEoDOR 5 +

Здесь нужно выполнить следующие команды (где user — нужный пользователь):


cd /var/www/user/data/www/seodor5.ru/internal_data/public/site.ru
cp database.db database.db_bak
sqlite3 database.db ".dump" > dump.sql
rm -f database.db
sqlite3 -init dump.sql database.db
.quit
chown -R user:user /var/www/user/data/www/seodor5.ru/internal_data/public/site.ru

Категория: Заметки

Комментари (0)

Trackback URL | Comments RSS Feed

Комментариев пока что нет. Вы будете первым!

Оставить комментарий