Форум OlegON > Программы и оборудование для автоматизации торговли > Кассовые программы > УКМ-4

скрипт переустановки mysql - ошибка storage engine : УКМ-4

22.11.2024 9:30


13.05.2019 10:44
Попробовал этот скрипт, он скачал с сервера установочные файлы, но при создании БД ругается

ERROR 1030 (HY000) at line 1: Got error -1 from storage engine

Если автор или кто-то, в нем копавшийся, заглянет, подскажите, пожалуйста, в чем дело. Может, он уже доработан, и новая версия есть, я просто давно не проверял.
Вложения
Тип файла: zip create_mysql.zip (4.3 Кб, 85 просмотров)
13.05.2019 15:37
я не пробовал, но подозреваю неправильные пути для создания базы...
16.06.2019 11:08
Еще на одной кассе попробовал, теперь прочитал внимательнее.

Видно, что ukm.sql отработал, и ошибка возникает на setver.sql. Пропустил его. База создалась, ukmclient запустился и пишет "КОД НЕИЗВЕСТЕН НЕИЗВЕСТНАЯ ОШИБКА Can not convert '' to j".

Видимо, осталось разобраться, что неверно в setver.sql, и дальше уже просить совета у разработчика.

setver.sql:

SQL код:
replace into ukm_ukmversion(version, moment, cli_updates_version) values (83000, NOW(), 83000); 
16.06.2019 11:32
может, несовпадение версий или структуры?
16.06.2019 11:38
Гм. После перезагрузки кассы ошибка изменилась.

КОД НЕИЗВЕСТЕН НЕИЗВЕСТНАЯ ОШИБКА Query failed: Error(1146) Table 'ukmclient.ukm_ukmversion' doesn't exist: SQL SELECT MAX(version) FROM ukm_ukmversion

Захожу в mysql, не пойму, что за глюк.
Код:
192.168.13.101#mysql --user=root --password=CtHDbCGK.C
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 21
Server version: 5.0.67 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use ukmclient;
Database changed
mysql> show tables;
+-------------------------------------------+
| Tables_in_ukmclient                       |
+-------------------------------------------+
| auth_bpc_journal                          |
| auth_gpb_journal                          |
| auth_internal_journal                     |
...................
| trm_out_table_operations                  |
| trm_out_updates_download_state            |
| trm_out_webmoney_sequence                 |
| ukm_job_scheduler                         |
| ukm_operation_processing                  |
| ukm_ukmversion                            |
| wbn_event                                 |
| wbn_session                               |
+-------------------------------------------+
610 rows in set (0,07 sec)

mysql> select * from ukm_ukmversion;
ERROR 1146 (42S02): Table 'ukmclient.ukm_ukmversion' doesn't exist
mysql> select * from wbn_event;
ERROR 1146 (42S02): Table 'ukmclient.wbn_event' doesn't exist
mysql> select * rom trm_in_store;
ERROR 1146 (42S02): Table 'ukmclient.trm_in_store' doesn't exist
mysql>
Переставил еще раз. Уже нет этого глюка.

Код:
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| ukmclient          |
+--------------------+
4 rows in set (0,00 sec)

mysql> select * from ukmclient.ukm_ukmversion;
Empty set (0,00 sec)

mysql> use ukmclient;
Database changed
mysql> select * from ukm_ukmversion;
Empty set (0,00 sec)
Осталось понять, что за проблема вставить строчку в таблицу.

SQL код:
mysql> replace into ukm_ukmversion(version, moment, cli_updates_version) values (83000, NOW(), 83000);
ERROR 1030 (HY000): Got error -1 from storage engine
mysql> insert into ukm_ukmversion(version, moment, cli_updates_version) values (83000, NOW(), 83000);
ERROR 1030 (HY000): Got error -1 from storage engine 
16.06.2019 11:40
На другой рабочей кассе смотрю.

SQL код:
mysql> select * from ukm_ukmversion;
+---------+--------------+---------------------+---------------------+
| version | full_version | moment              | cli_updates_version |
+---------+--------------+---------------------+---------------------+
|   74000 |              | 2017-01-13 19:55:00 |               74000 |
|   75000 |              | 2017-05-14 11:34:36 |               75000 |
|   75001 |              | 2017-05-14 11:34:47 |               75001 |
|   78000 |              | 2018-02-06 11:35:32 |               78000 |
|   78001 |              | 2018-02-06 11:35:33 |               78001 |
|   78002 |              | 2018-02-06 11:35:43 |               78002 |
|   83000 |              | 2018-12-18 15:12:57 |               83000 |
|   83001 |              | 2018-12-18 15:12:58 |               83001 |
|   83002 |              | 2018-12-18 15:12:58 |               83002 |
|   83003 |              | 2018-12-18 15:13:12 |               83003 |
+---------+--------------+---------------------+---------------------+
10 rows in set (0,00 sec)

mysql> 
На этой не хочет.

SQL код:
mysql> replace into ukm_ukmversion(version, full_version, moment, cli_updates_version) values (83000, null, NOW(), 83000);
ERROR 1048 (23000): Column 'full_version' cannot be null
mysql> replace into ukm_ukmversion(version, full_version, moment, cli_updates_version) values (83000, 83000, NOW(), 83000);
ERROR 1030 (HY000): Got error -1 from storage engine 
16.06.2019 11:56
SQL код:
mysql> insert into ukm_ukmversion values (83000, '83000', NOW(), 83000);
ERROR 1030 (HY000): Got error -1 from storage engine
mysql> CREATE TABLE ukm_test (
    ->   version int(10) unsigned NOT NULL default '0', -- Идентификатор версии
    ->   full_version varchar(15) NOT NULL default '', -- Полный номер версии
    ->   moment datetime NOT NULL default '0000-00-00 00:00:00', -- Дата установки версии
    ->   cli_updates_version int(10) unsigned NOT NULL default '0' -- Версия клиентских обновлений
    -> );
Query OK, 0 rows affected (0,07 sec)

mysql>
mysql> insert into ukm_test values (83000, '', NOW(), 83000);
Query OK, 1 row affected (0,00 sec)

mysql> insert into ukm_ukmversion select * from ukm_test;
ERROR 1030 (HY000): Got error -1 from storage engine
mysql> select * from ukm_test;
+---------+--------------+---------------------+---------------------+
| version | full_version | moment              | cli_updates_version |
+---------+--------------+---------------------+---------------------+
|   83000 |              | 2019-06-16 11:54:18 |               83000 |
+---------+--------------+---------------------+---------------------+
1 row in set (0,00 sec)



mysql> drop table ukm_ukmversion;
Query OK, 0 rows affected (0,13 sec)

mysql> rename table ukm_test to ukm_ukmversion;
Query OK, 0 rows affected (0,00 sec)

mysql> select * from ukm_ukmversion;
+---------+--------------+---------------------+---------------------+
| version | full_version | moment              | cli_updates_version |
+---------+--------------+---------------------+---------------------+
|   83000 |              | 2019-06-16 11:54:18 |               83000 |
+---------+--------------+---------------------+---------------------+
1 row in set (0,00 sec)

mysql> 
Загадка.
16.06.2019 12:03
конфиг мускула покажи? место на дисках точно есть?
16.06.2019 12:13
В конфиге забыл отключить set-variable=innodb_force_recovery=6

Полет нормальный.
17.07.2019 12:22
я как разработчик скрипта, не ожидал что скрипт пойдет в массы...
Если у меня он перестанет работать исправлю и выложу новую версию.
Идея скрипта крайне проста он тупо качает инсталяционные файлы с сервера(ip сервера берем из rc.ukm) в котором лежат SQL скрипты необходимые для создания и настройки базы. Единственное что формируется самим скриптом это гранты.
P.S. Если часто пользуетесь этим скриптом, подчищайте директории бэкапов /usr/local/mysql/var_badXX. На больших базах может быстро забиться винт.
Часовой пояс GMT +3, время: 09:30.

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