Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С Битрикс
Войти
Регистрация
Восстановить пароль
 
dj_zek
0 / 0 / 0
Регистрация: 22.01.2015
Сообщений: 24
1

Волшебное исчезновение куска базы данных

13.11.2018, 10:23. Просмотров 408. Ответов 8
Метки нет (Все метки)

Всем добрый день, надеюсь что хоть тут разгадают тайну моего сайта

Помогите разобраться с этой мифической историей

Сайт работал долгое время не каких проблем не было в 9 утра все было отлично, как по волшебству в 10 утра на сайте появились ошибки базы данных mysql. Потом резко сайт вообще упал и выдает следующую ошибку.

Код
[Bitrix\Main\DB\SqlQueryException] 
Mysql query error: (1146) Table '846926_bx1.b_option' doesn't exist (400)
SELECT o.SITE_ID, o.MODULE_ID, o.NAME, o.VALUE FROM b_option o 
/home/users/j846926_bx1/site/bitrix/modules/main/lib/db/mysqliconnection.php:137
#0: Bitrix\Main\DB\MysqliConnection->queryInternal(string, array, NULL)
	/home/users/j846926_bx1/site/bitrix/modules/main/lib/db/connection.php:329
#1: Bitrix\Main\DB\Connection->query(string)
	/home/users/j846926_bx1/site/bitrix/modules/main/lib/config/option.php:182
#2: Bitrix\Main\Config\Option::load(string, NULL)
	/home/users/j846926_bx1/site/bitrix/modules/main/lib/config/option.php:53
#3: Bitrix\Main\Config\Option::get(string, string, string)
	/home/users/j846926_bx1/site/bitrix/modules/main/lib/httprequest.php:337
#4: Bitrix\Main\HttpRequest->prepareCookie(array)
	/home/users/j846926_bx1/site/bitrix/modules/main/lib/httprequest.php:63
#5: Bitrix\Main\HttpRequest->__construct(object, array, array, array, array)
	/home/users/j846926_bx1/site/bitrix/modules/main/lib/httpapplication.php:42
#6: Bitrix\Main\HttpApplication->initializeContext(array)
	/home/users/j846926_bx1/site/bitrix/modules/main/lib/application.php:122
#7: Bitrix\Main\Application->initializeExtendedKernel(array)
	/home/users/j846926_bx1/site/bitrix/modules/main/include.php:23
#8: require_once(string)
	/home/users/j846926_bx1/site/bitrix/modules/main/include/prolog_before.php:14
#9: require_once(string)
	/home/users/j846926_bx1/site/bitrix/modules/main/include/prolog.php:10
#10: require_once(string)
	/home/users/j846926_bx1/site/bitrix/header.php:1
#11: require(string)
	/home/users/j846926_bx1/site/index.php:1
Не каких работ по сайту не было, не каких процессов тоже не выполнялась. Как это произошло не понятно. Хостинг говорит что пропал кусок базы b_option
Просмотрел через phpMyAdmin такой таблице и правда нет. Была ли она не помню
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2018, 10:23
Ответы с готовыми решениями:

Волшебное исчезновение или падение стилей подвала главной страницы( только главной)
Почти сутки уже пытаюсь решить эту загадку....возможно ответ очевиден, но мозг у меня уже не...

Появление/исчезновение элементов и исчезновение при клике на другой
Привет. Есть такое меню (картинка ниже). Нужно чтобы при клике на ссылку, появлялись текст и...

Исчезновение данных
Здравствуйте, Уважаемые специалисты и любители, помогите решить проблему, пожалуйста Ситуация: ...

Использование псевдопеременных: bd (3,5) = s, где bd - база данных, s - элемент базы данных, тогда с 3 по 5 элементы базы данных заменить на элемент s.
всем доброго времени суток! есть у меня класс bd, массив элементов этого класса table, а вот сам...

При открытии базы данных FoxPro в приложение Delphi возникает ошибка драйвера внешней базы данных (8961)
При открытии базы данных FoxPro в приложение Delphi возникает ошибка драйвера внешней базы данных...

8
voral
918 / 615 / 135
Регистрация: 16.03.2008
Сообщений: 2,923
13.11.2018, 14:49 2
Вариантов не много.
Либо кто-то базу поломал какими то действиями. (возможно у вас есть скрипт дырявый)
Либо жестким дискам на сервере приходит кирдык.

Бывало такое, когда базу разворачивали руками от одной версии, а файлы от другой. Но b_option таблица старая - так что вероятность этого пренебрежительно мала
0
npp
0 / 0 / 0
Регистрация: 30.04.2014
Сообщений: 20
Завершенные тесты: 1
14.01.2019, 11:06 3
Здравствуйте! А хостер у вас случайно не mtw.ru?
Просто ситуация аналогичная в то же время...

Код
[Bitrix\Main\DB\SqlQueryException] 
Mysql query error: Table 'имябазы.b_option' doesn't exist (400)
SELECT o.SITE_ID, o.MODULE_ID, o.NAME, o.VALUE FROM b_option o 
#0: Bitrix\Main\DB\MysqlConnection->queryInternal("SELECT o.SITE_I...ROM b_option o " (63), array(0), 0, 0, null)
	/www/vhosts/имясайта/html/bitrix/modules/main/lib/db/connection.php:155
#1: Bitrix\Main\DB\Connection->query("SELECT o.SITE_I...ROM b_option o " (63))
	/www/vhosts/имясайта/html/bitrix/modules/main/lib/config/option.php:150
#2: Bitrix\Main\Config\Option::load("main", null)

и т.д.
Мне совсем плохо, ибо не разбираюсь, просто наполняю сайт новостями.
Включил режим отладки через ftp доступ.
Проверил файлы конфигурации доступа к SQL - вроде структура в коде .settings.php и dbconn.php не нарушена, обращение к базе через localhost, пароли совпадают.
Бэкап имеется - на сайте и скачал себе с расширением .enc
Как его восстановить без доступа к админке сайта - без понятия.
0
voral
918 / 615 / 135
Регистрация: 16.03.2008
Сообщений: 2,923
14.01.2019, 12:00 4
У вас не с доступом к базе проблемы, а с со структурой самой БД.
1
npp
0 / 0 / 0
Регистрация: 30.04.2014
Сообщений: 20
Завершенные тесты: 1
14.01.2019, 12:12 5
Хостер таки просил меня проверить пароли.
Судя по ошибке сама база есть, а таблиц в базе нету? Разве можно испортить содержимое (или конфигурацию) БД не имея пароля к этой БД?
Что делать-то?
0
voral
918 / 615 / 135
Регистрация: 16.03.2008
Сообщений: 2,923
14.01.2019, 12:24 6
Можно, например:
1. Сбой восстановления базы из скрипта
2. Файлы таблиц хранятся в отдельных файлах - к файлу этой таблицы нет доступа пользователю от имени которого работает mysql
3. Файл таблицы может быть удален.
4. А вы уверены, что остальные таблицы битрикс там есть?

Если бы проблема была в паролях, то у вас не было бы права выполнить запрос. И вам бы не выдало ошибку раскрывающую структуру базы данных. Если у вас, конечно, не самопальная сборка mysql сервера. У вас бы была ошибка типа "Access denied for user ...."

Добавлено через 5 минут
Провел ради интереса эксперимент, подключил битрикс к БД не битриксной. Точна такая же ошибка. Отсюда еще один пример, как такое могло произойти:

Грохнули БД, потом создали новую пустую

Что делать?:
Востанавливать сайт из резервной копии. По хорошему вы (или ваш админ) должны были настроить автоматическое резервное копирование. В идеале (если лицензия активна) в облако.

Если копии нет - разбираться с хостером на предмет куда делась БД. Я так понимаю у вас виртуальный хостинг. А значит в админке должно что то типа доступа к БД через phpMyAdmin - посмотрите там, хотябы 10 первых таблиц там какие?
1
npp
0 / 0 / 0
Регистрация: 30.04.2014
Сообщений: 20
Завершенные тесты: 1
14.01.2019, 14:13 7
Я писал, что бэкап у меня (и на сайте) есть в виде зашифрованного файла 20180329_095621_full_c9a3e1a0.enc, только вот админка, встроенная в сайт, также не работает - восстановить сайт из бэкапа штатным способом я не смогу.
Более того, я выкачивал сайт целиком к себе на комп - все папки. Правда это было 2 года назад и БД в них уже не актуальная.
Могу через ftp доступ попытаться восстановить БД из старых файлов и заново наполнить сайт новостями... наверное ))
И самое простое - просить хостера откатить сайт по своим бэкапам. Или по моим (пароль предоставлю).

Добавлено через 1 час 10 минут
На сайте битрикс написано, мол, качайте файл restore.php и кидайте его в корень сайта. Запускайте этот скрипт и он восстановит сайт из резервной копии.
Я скачал, кинул в корень, в браузере набрал www.сайт.ru/restore.php
и сайт мне выдал точно такой же перечень ошибок + две строки прибавил.

Код
[Bitrix\Main\DB\SqlQueryException] 
Mysql query error: Table 'имяБД.b_option' doesn't exist (400)
SELECT o.SITE_ID, o.MODULE_ID, o.NAME, o.VALUE FROM b_option o 
#0: Bitrix\Main\DB\MysqlConnection->queryInternal("SELECT o.SITE_I...ROM b_option o " (63), array(0), 0, 0, null)
	/www/vhosts/имясайта/html/bitrix/modules/main/lib/db/connection.php:155
#1: Bitrix\Main\DB\Connection->query("SELECT o.SITE_I...ROM b_option o " (63))
	/www/vhosts/имясайта/html/bitrix/modules/main/lib/config/option.php:150
#2: Bitrix\Main\Config\Option::load("main", null)
	/www/vhosts/имясайта/html/bitrix/modules/main/lib/config/option.php:36
#3: Bitrix\Main\Config\Option::get("main", "cookie_name", "BITRIX_SM")
	/www/vhosts/имясайта/html/bitrix/modules/main/lib/httprequest.php:265
#4: Bitrix\Main\HttpRequest->prepareCookie(array(1))
	/www/vhosts/имясайта/html/bitrix/modules/main/lib/httprequest.php:58
#5: Bitrix\Main\HttpRequest->__construct([Bitrix\Main\Server], array(0), array(0), array(0), array(1))
	/www/vhosts/имясайта/html/bitrix/modules/main/lib/httpapplication.php:43
#6: Bitrix\Main\HttpApplication->initializeContext(array(6))
	/www/vhosts/online-automation.ru/html/bitrix/modules/main/lib/application.php:115
#7: Bitrix\Main\Application->initializeExtendedKernel(array(6))
	/www/vhosts/имясайта/html/bitrix/modules/main/include.php:1
#8: require_once("/www/vhosts/onl...ain/include.php" (69))
	/www/vhosts/имясайта/html/bitrix/modules/main/include/prolog_before.php:14
#9: require_once("/www/vhosts/onl...olog_before.php" (83))
	/www/vhosts/имясайта/html/bitrix/modules/main/include/prolog.php:11
#10: require_once("/www/vhosts/onl...lude/prolog.php" (76))
	/www/vhosts/имясайта/html/bitrix/header.php:1
#11: require("/www/vhosts/onl...trix/header.php" (55))
	/www/vhosts/имясайта/html/404.php:7
#12: include_once("/www/vhosts/onl...ru/html/404.php" (45))
	/www/vhosts/имясайта/html/bitrix/urlrewrite.php:4
0
voral
918 / 615 / 135
Регистрация: 16.03.2008
Сообщений: 2,923
14.01.2019, 14:51 8
Если хостер делает бэкапы - тогда проще. Может есть более актуальная.


А вообще есть специальный скрипт.

Помещаете его в корень, и туда же архив. Обращаетесь через браузер к этому скрипты и дальше в режиме мастера внимательно восстанваливаете из архива. Только учтите, что все файлы будут заменены файлами из архива - можете на всякий случай сделать резервную копию средствами хостинга.

Копия от марта 2018 - достаточно бородатая. Резервное копирование придумали не просто так

Добавлено через 2 минуты
Цитата Сообщение от npp Посмотреть сообщение
Я скачал, кинул в корень, в браузере набрал www.сайт.ru/restore.php
и сайт мне выдал точно такой же перечень ошибок + две строки прибавил.
Что то вы не так делаете. Этот скрипт в начале вообще не лезет в базу. Либо опечатались, либо у вас какойто странный редирект настроен
1
npp
0 / 0 / 0
Регистрация: 30.04.2014
Сообщений: 20
Завершенные тесты: 1
14.01.2019, 15:02 9
Действительно, скрипт кинул в корень сервера, а надо было кидать его в папку html. Туда же запулил файл бэкапа.
Запустил скрипт, он нашёл файл бэкапа в своей директории и восстановил сайт с него.
Благодарю за помощь, жму +1 спасибо
0
14.01.2019, 15:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2019, 15:02

Восстановить поврежденный файл базы данных SQLite (сделать дамп запароленного файла базы данных)
Вообщем не понятно после чего перестал открываться файл базы данных с ошибкой - "database disk...

Исчезновение всех строковых данных
У меня такая проблема, что изчезли почти все строковые данные и не открывается меню пуск. Просто...

Создание базы данных, открытие из под одной базы данных MS Access
Здравствуйте. В общем, C# начал заниматься только вот и сразу была поставлена задача создать базу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru