11.01.2018 14:46
SlavaR
 
В общем намедни навернулась база на кассе и пришло такое решение в голову:

Создаем на укм сервере конфигурацию:
Файловый принтер
Материнская плата PC совместимая
Дисплей Консоль (как основной, использовать клавиатура)
В настройках выбираем эту конфигурацию в конфигурационной группе по умолчанию
блокируем кассу в мониторе оборудования

закидываем на кассу в /usr/local/mysql архив с чистой базой (clear-mysql-var.tgz)
ну или создаем новую базу, стягиваем скрипты с сервера, прогоняем по базе....

стопим сервисы укм клиента и mysql:
/etc/init.d/ukmclient stop
/etc/init.d/mysql stop

cd /usr/local/mysql
переименовываем папку базы
mv /usr/local/mysql/var /usr/local/mysql/var1
распаковываем чистую базу
tar xzf clear-mysql-var.tgz
ну или второй вариант

запускаем mysql
/etc/init.d/mysql start

запускаем укм клиент в терминале putty
cd /usr/local/ukmclient
./cashmain

регистрируем кассу на сервере, снимаем блокировку, делаем репликацию и если надо обновление , далее жмем Ctrl+C

запускаем укм-клиент на кассе
/etc/init.d/ukmclient start

опробовано на 78 версии, чистая база от неё же
11.01.2018 15:07
vdm
 
Только так и делаю, переставлять все с нуля в 99% не нужно.

Одно замечание - cashmain нужно стартовать под юзером ukmclient, иначе могут быть проблемы (с логами например).
Код:
sudo -u ukmclient ./cashmain
11.01.2018 15:09
SlavaR
 
а вот сейчас пробовал можно оказывается ./cashmain --console
и вообще никакие конфигурации не надо делать
12.01.2018 13:39
Ubuntu
 
А по-моему удобнее через виртуалку. После регистрации, просто переносим /usr/local/mysql/var
16.01.2018 08:25
ArchiHaki
 
Единственный момент, надо всегда проверять все ли чеки данной смены есть на УКМ сервере. Было несколько случаев, что касса работала "в автономе" и потом рушилась БД. А так всегда для начала пробуем восстановить БД и только потом перезаливка.
08.02.2018 20:01
Chebure
 
Ребята вы мне глаза открыли!

Только где взять базу соответствующей версии ? Я предложенную попробовал, но у меня УКМ 76 версии, понятно, не сработало.

Или давайте раскроем окончательно тему, распишите способ как создать базу и прогнать скрипты?
08.02.2018 21:53
Starter
 
А чем плох стандартный способ восстановления базы (лежащий на фтп С+) ?
Там:
1. сохранение поломанной базы в дамп.
2. установка чистой базы
3. восстановление из дампа.

Всегда так и делали, всегда помогало.
Вложения
Тип файла: 7z dbrepair6700+ x3pack vX readme v4.7z (2.70 Мб, 23 просмотров)

Последний раз редактировалось Starter; 08.02.2018 в 22:03.
09.02.2018 14:07
LightStep
 
Там же на фтп С+ накопал инструкцию по пересозданию базы, если не делается дамп.

Цитата:
Если разрушенную БД mysql не получается починить с помощью dbdamp+dbrestore, то можно удаленно "перезалить" кассу.
Данная инструкция предназначена для восстановления кассы, на которой нет невыгруженных продаж и mysql можно запустить.


С любого сервера УКМ с той же версией что и неремонтирующаяся касса со сломанной БД заберите файл:
C:\Program Files\Apache Group\Apache2ukm\htdocs\ukminstall\ukmcli-build

Разархивируйте, из получившегося нужны 2 файла:
ukm.sql
setver.sql

Скопируйте эти файлы на кассу в tmp с помощью WinSCP(www.winscp.net)

Подключитесть к кассе с помощью ssh
Последовательно выполните на кассе команды:
ukmoff
/etc/init.d/ukmclient stop

Запустите сервер MySQL командой:
/etc/init.d/mysql start

Убедиться в том что сервер MySQL запущен или остановлен с помощью команды:
ps -e|grep mysqld

Если mysql не запускается, то Отредактируйте файл /etc/my.cnf в секцию [mysqld] добавьте строку:
set-variable=innodb_force_recovery=6
/etc/init.d/mysql start

Подключитесь к mysql командой:
mysql -uroot -pCtHDbCGK.C -Dukmclient

Удалите БД ukmclient (вместе с БД соответственно удаляются все чеки и данные):
drop database ukmclient;

Создайте новую чистую БД командой:
create database ukmclient;

Остановите mysql командой:
/etc/init.d/mysql stop

Отредактируйте файл /etc/my.cnf в секцию [mysqld] закомментировать строку
#set-variable=innodb_force_recovery=6

Запустите сервер MySQL командой:
/etc/init.d/mysql start

Перейдите в каталог /tmp
Подключитесь к mysql командой:
mysql -uroot -pCtHDbCGK.C -Dukmclient

Выполните команды:
source ukm.sql
source setver.sql
exit

Убедитесь что на сервере УКМ терминал заблокирован и установлен правильный магазин и конф. группа по умолчанию.
Позвоните в магазин и попросите сотрудника магазина ввести номер терминала на кассе и 2 раза потом нажать "Ввод ШК" когда она загрузится.

Запустите кассу:
ukmon
/etc/init.d/ukmclient start

Касса попросит регистрацию на сервере.
09.02.2018 15:28
whitewizard
 
я ещё файлы базы удаляю
20.02.2018 14:49
andron_dd
 
мне в какой-то момент надоела ручная работа, нарисовал универсальный скрипт, который стягивает с сервера установочные файлы, вытаскивает из них скрипт создания БД, формирует права пользователей и т.д. Работает со всеми версиями УКМ4. Крайне рекомендую пользоваться тем, кто хоть немного знает bash. Запускать со сломанной кассы.
Вложения
Тип файла: zip repair_mysql_base.zip (3.7 Кб, 49 просмотров)

Последний раз редактировалось andron_dd; 20.02.2018 в 14:52.

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