21.11.2020 18:50
MrSTEP
 
Сегодня пожаловались, что на одной кассе возникла Ошибка подключения к БД (когда ж еще ей вылезти, как не в субботу). На кассе укм4 версии 90 сп1. Казалось, дело плевое, сделаю дамп по инструкции разработчиков, и дело с концом. Однако нет, mysql запускаться не хочет ни в какую, даже с ключами innodb_force_recovery=6 и set-variable=innodb_force_recovery=6. Лог мускула начинается с вот этого:
фрагмент:
201121 16:25:30 mysqld started
201121 16:25:30 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
201121 16:25:30 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
InnoDB: Log scan progressed past the checkpoint lsn 0 2302453437
201121 16:25:30 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 0 2302454703
InnoDB: Error: trying to access page number 4294959487 in space 0,
InnoDB: space name ./ibdata1,
InnoDB: which is outside the tablespace bounds.
InnoDB: Byte offset 0, len 16384, i/o type 10.
InnoDB: If you get this error at mysqld startup, please check that
InnoDB: your my.cnf matches the ibdata files that you have in the
InnoDB: MySQL server.
201121 16:25:30InnoDB: Assertion failure in thread 16384 in file fil0fil.c line 3959

Пример полных записей во вложении.

Поделитесь мыслями, как оживить базу?
Вложения
Тип файла: txt normal.txt (3.1 Кб, 2 просмотров)
Тип файла: txt force6.txt (2.8 Кб, 1 просмотров)
22.11.2020 10:53
bob
 
Мое мнение - гораздо проще с флешки поднять кассу заново и с реплицированными данными с сервера. По крайней мере я всегда так делаю 15 минут и все проблемы решены.
22.11.2020 15:56
MrSTEP
 
Согласен, способ рабочий и простой. Только магазин этот далеко, 130 км ехать)) Ладно, может стажера отправлю на неделе
22.11.2020 16:22
OlegON
 
my.cnf целый? файлы БД не странных размеров? какая файловая система?
как я понимаю, вырубили по питанию и угробили кучу всего на диске... надо проверить по журналу, если так, то ковыряться с этим смысла мало....
если UPS нет, то сами бакланы, если UPS, но кассир балуется, то пусть кассир выезд стажера и оплачивает...
22.11.2020 23:06
vdm
 
Обычно и без переустановки можно обойтись, достаточно пустую базу кассе подсунуть и далее стандартно как после флэшки.
Тут это неоднократно описывалось, и скрипты кто-то выкладывал.
23.11.2020 11:22
Павел Сосновских
 
https://olegon.ru/showpost.php?p=292620&postcount=17

в пунктах 15-16 можно сделать самостоятельно:
cd /usr/local/ukmclient
./cashmain --console
укм запустится в сеансе putty, правда из него будет не выйти - решается еще одним сеансом putty

Правка: Павел Сосновских, 23.11.2020 11:26
23.11.2020 15:04
MrSTEP
 
Цитата:
OlegON my.cnf целый? файлы БД не странных размеров? какая файловая система?
Файл cnf целый, файлы базы - как обычно (16 нулевых, основная масса от 1 до 16 кб, самый большой 65), файловая система ext3.

ИБП есть, работает. Но в последний день работы кассы последняя запись в укмлоге - runsbrf.sh 7, больше действий нет. После работы со сбером кассы частенько виснут, но это для отдельной темы. Видимо, все-таки рубанули по питанию. Красавцы.


Цитата:
vdm Тут это неоднократно описывалось, и скрипты кто-то выкладывал.
Нашел инструкцию, https://olegon.ru/showpost.php?p=303460&postcount=8 попробовал пойти по ней с поправками на то, что с имеющейся базой мускул у меня не запускается:
-Подкинул чистую БД из архива по восстановлению (dbdump/dbrestore);
-Подключился к ней (root без пароля, базы ukmclient нету)
-Создал базу, задал стандартный УКМовский пароль на root
-Выполнил команды
source ukm.sql
source setver.sql
-Убедился, что на вебе касса заблокирована
-Попробовал запустить УКМ, получил какую-то ошибку по правам в мускуле
-Выполнил source dbgrants-ukmclient.sql из того-же архива по восстановлению
-Запустил ukmclient еще раз, опять получил ошибку
-На всякий случай выполнил команды еще раз
source ukm.sql
source setver.sql
-Перезагрузил кассу полностью
-Позвонил кассирам, они зарегистрировали кассу, она приняла данные и вроде как запустилась.

Что там происходит сейчас, не знаю - зависли сами кассиры. По логам вроде все ровно
24.11.2020 16:12
MrSTEP
 
Да, касса в порядке, пробивает чеки и отправляет их на сервер. Спасибо всем за участие и советы

Цитата:
Павел Сосновских в пунктах 15-16 можно сделать самостоятельно:
cd /usr/local/ukmclient
./cashmain --console
Попробовал это сделать, но из путти не смог ввести Номер кассы, да и вообще прога не реагировала ни на одну клавишу. Теперь интересно, а там не надо как-то играть с раскладкой клавиатуры?
24.11.2020 18:00
Павел Сосновских
 
Давно сам не пробовал. Возможно в этот момент должна быть указана стандартная PC-клавиатура, которую потом можно поменять на ту, что используется на самом деле
24.11.2020 21:14
MrSTEP
 
Да, я тоже об этом подумал. Может проверю когда-нибудь

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.