Table 'hlstats_*' is marked as crashed and last (automatic?) repair failed

Danyas

Участник
Сообщения
2,174
Реакции
1,072
Очень часто начала ломаться статистика с крашем таблиц.
Как можно сделать что бы они чинились автоматически или (еще лучше) не ломались.
Логи скрипта чисты.

Есть идея сделать выполнение через CronTab такой вещи
REPAIR TABLE `geoLiteCity_Blocks`, `geoLiteCity_Location`, `hlstats_Actions`, `hlstats_Awards`, `hlstats_Clans`, `hlstats_ClanTags`, `hlstats_Countries`, `hlstats_Events_Admin`, `hlstats_Events_ChangeName`, `hlstats_Events_ChangeRole`, `hlstats_Events_ChangeTeam`, `hlstats_Events_Chat`, `hlstats_Events_Connects`, `hlstats_Events_Disconnects`, `hlstats_Events_Entries`, `hlstats_Events_Frags`, `hlstats_Events_Latency`, `hlstats_Events_PlayerActions`, `hlstats_Events_PlayerPlayerActions`, `hlstats_Events_Rcon`, `hlstats_Events_Statsme`, `hlstats_Events_Statsme2`, `hlstats_Events_StatsmeLatency`, `hlstats_Events_StatsmeTime`, `hlstats_Events_Suicides`, `hlstats_Events_TeamBonuses`, `hlstats_Events_Teamkills`, `hlstats_Games`, `hlstats_Games_Defaults`, `hlstats_Games_Supported`, `hlstats_Heatmap_Config`, `hlstats_HostGroups`, `hlstats_Livestats`, `hlstats_Maps_Counts`, `hlstats_Mods_Defaults`, `hlstats_Mods_Supported`, `hlstats_Options`, `hlstats_Options_Choices`, `hlstats_PlayerNames`, `hlstats_Players`, `hlstats_Players_Awards`, `hlstats_Players_History`, `hlstats_Players_Ribbons`, `hlstats_PlayerUniqueIds`, `hlstats_Ranks`, `hlstats_Ribbons`, `hlstats_Roles`, `hlstats_Servers`, `hlstats_Servers_Config`, `hlstats_Servers_Config_Default`, `hlstats_Servers_VoiceComm`, `hlstats_server_load`, `hlstats_Teams`, `hlstats_Trend`, `hlstats_Users`, `hlstats_Weapons`
 

HooLIGUN

MatchMaking CS:S / RGMIX.ru
Сообщения
1,079
Реакции
274
Пишем простенький php скрипт с нужным запросом, и ставим в задачу выполнение этого скрипта по нужному времени.
Если никто не ответит раньше или не решишь сам, поищу скрипт, был у меня где то готовый.

Добавлено через 3 минуты
PHP:
<?php
  $mysqli = @new mysqli('host', 'user', 'pass', 'table');
  if (mysqli_connect_errno()) {
    echo "Подключение невозможно: ".mysqli_connect_error();
  }
  $mysqli->query('REPAIR TABLE `geoLiteCity_Blocks`, `geoLiteCity_Location`, `hlstats_Actions`, `hlstats_Awards`, `hlstats_Clans`, `hlstats_ClanTags`, `hlstats_Countries`, `hlstats_Events_Admin`, `hlstats_Events_ChangeName`, `hlstats_Events_ChangeRole`, `hlstats_Events_ChangeTeam`, `hlstats_Events_Chat`, `hlstats_Events_Connects`, `hlstats_Events_Disconnects`, `hlstats_Events_Entries`, `hlstats_Events_Frags`, `hlstats_Events_Latency`, `hlstats_Events_PlayerActions`, `hlstats_Events_PlayerPlayerActions`, `hlstats_Events_Rcon`, `hlstats_Events_Statsme`, `hlstats_Events_Statsme2`, `hlstats_Events_StatsmeLatency`, `hlstats_Events_StatsmeTime`, `hlstats_Events_Suicides`, `hlstats_Events_TeamBonuses`, `hlstats_Events_Teamkills`, `hlstats_Games`, `hlstats_Games_Defaults`, `hlstats_Games_Supported`, `hlstats_Heatmap_Config`, `hlstats_HostGroups`, `hlstats_Livestats`, `hlstats_Maps_Counts`, `hlstats_Mods_Defaults`, `hlstats_Mods_Supported`, `hlstats_Options`, `hlstats_Options_Choices`, `hlstats_PlayerNames`, `hlstats_Players`, `hlstats_Players_Awards`, `hlstats_Players_History`, `hlstats_Players_Ribbons`, `hlstats_PlayerUniqueIds`, `hlstats_Ranks`, `hlstats_Ribbons`, `hlstats_Roles`, `hlstats_Servers`, `hlstats_Servers_Config`, `hlstats_Servers_Config_Default`, `hlstats_Servers_VoiceComm`, `hlstats_server_load`, `hlstats_Teams`, `hlstats_Trend`, `hlstats_Users`, `hlstats_Weapons`');
  echo "Готово!";
  $mysqli->close();
?>
 
Последнее редактирование:

Danyas

Участник
Сообщения
2,174
Реакции
1,072
Пишем простенький php скрипт с нужным запросом, и ставим в задачу выполнение этого скрипта по нужному времени.
Если никто не ответит раньше или не решишь сам, поищу скрипт, был у меня где то готовый.

Добавлено через 3 минуты
PHP:
<?php
  $mysqli = @new mysqli('host', 'user', 'pass', 'table');
  if (mysqli_connect_errno()) {
    echo "Подключение невозможно: ".mysqli_connect_error();
  }
  $mysqli->query('REPAIR TABLE `geoLiteCity_Blocks`, `geoLiteCity_Location`, `hlstats_Actions`, `hlstats_Awards`, `hlstats_Clans`, `hlstats_ClanTags`, `hlstats_Countries`, `hlstats_Events_Admin`, `hlstats_Events_ChangeName`, `hlstats_Events_ChangeRole`, `hlstats_Events_ChangeTeam`, `hlstats_Events_Chat`, `hlstats_Events_Connects`, `hlstats_Events_Disconnects`, `hlstats_Events_Entries`, `hlstats_Events_Frags`, `hlstats_Events_Latency`, `hlstats_Events_PlayerActions`, `hlstats_Events_PlayerPlayerActions`, `hlstats_Events_Rcon`, `hlstats_Events_Statsme`, `hlstats_Events_Statsme2`, `hlstats_Events_StatsmeLatency`, `hlstats_Events_StatsmeTime`, `hlstats_Events_Suicides`, `hlstats_Events_TeamBonuses`, `hlstats_Events_Teamkills`, `hlstats_Games`, `hlstats_Games_Defaults`, `hlstats_Games_Supported`, `hlstats_Heatmap_Config`, `hlstats_HostGroups`, `hlstats_Livestats`, `hlstats_Maps_Counts`, `hlstats_Mods_Defaults`, `hlstats_Mods_Supported`, `hlstats_Options`, `hlstats_Options_Choices`, `hlstats_PlayerNames`, `hlstats_Players`, `hlstats_Players_Awards`, `hlstats_Players_History`, `hlstats_Players_Ribbons`, `hlstats_PlayerUniqueIds`, `hlstats_Ranks`, `hlstats_Ribbons`, `hlstats_Roles`, `hlstats_Servers`, `hlstats_Servers_Config`, `hlstats_Servers_Config_Default`, `hlstats_Servers_VoiceComm`, `hlstats_server_load`, `hlstats_Teams`, `hlstats_Trend`, `hlstats_Users`, `hlstats_Weapons`');
  echo "Готово!";
  $mysqli->close();
?>
Как видишь - никто не ответил :blush2:
 

HooLIGUN

MatchMaking CS:S / RGMIX.ru
Сообщения
1,079
Реакции
274
Danyas, Ну я же вроде спустя 3 минуты скинул код, по этому и решили, что больше не актуально )
 

Danyas

Участник
Сообщения
2,174
Реакции
1,072
Danyas, Ну я же вроде спустя 3 минуты скинул код, по этому и решили, что больше не актуально )

А, я то подумал что есть более оптимальное решение)

Сейчас добавил в крон после перезапуска машины и каждую ночь, вроде крашев уже не видно :beer:
 

HooLIGUN

MatchMaking CS:S / RGMIX.ru
Сообщения
1,079
Реакции
274
Оптимальное решение.хм..я бы искал причину таких падений.
Переустановил бы для начала базу\стату (естественно с бекапом)
 

Tallanvor

НЕ ПИШУ я плагины!!! И не правлю! И ваще...
Сообщения
1,352
Реакции
554
Если есть доступ к шеллу, тогда то же самое, только на баше:

Для Debian/Ubuntu:
PHP:
mysqlcheck --defaults-file=/etc/mysql/debian.cnf --auto-repair hlstats_dbname


Для всех дистров (общий синтаксис):
PHP:
mysqlcheck --user=username --password=password  --auto-repair hlstats_dbname

Добавлено через 2 минуты
Оптимальное решение.хм..я бы искал причину таких падений
Тут косяк в самом синтаксисе запросов и структуре базы.
Увы, стата писалась местами на коленке.
При большом количестве серверов и игроков, база вот так вот регулярно ломается....
 
Последнее редактирование:

Danyas

Участник
Сообщения
2,174
Реакции
1,072
Если есть доступ к шеллу, тогда то же самое, только на баше:
PHP:
mysqlcheck --user=username --password=password  --auto-repair hlstats_dbname

Спасибо, работает
Warning: Using a password on the command line interface can be insecure.
v34_hlstatsx.geoLiteCity_Blocks OK
v34_hlstatsx.geoLiteCity_Location OK
v34_hlstatsx.hlstats_Actions
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_AddonsOptions OK
v34_hlstatsx.hlstats_Awards
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_ClanTags OK
v34_hlstatsx.hlstats_Clans
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Countries OK
v34_hlstatsx.hlstats_Events_Admin OK
v34_hlstatsx.hlstats_Events_ChangeName
warning : 1 client is using or hasn't closed the table properly
status : OK
v34_hlstatsx.hlstats_Events_ChangeRole OK
v34_hlstatsx.hlstats_Events_ChangeTeam
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Events_Chat
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Events_Connects
warning : 3 clients are using or haven't closed the table properly
error : Record-count is not ok; is 52129 Should be: 52130
warning : Found 56 deleted space. Should be 0
warning : Found 1 deleted blocks Should be: 0
error : Corrupt
v34_hlstatsx.hlstats_Events_Disconnects
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Events_Entries
warning : 3 clients are using or haven't closed the table properly
error : Record-count is not ok; is 73496 Should be: 73497
warning : Found 32 deleted space. Should be 0
warning : Found 1 deleted blocks Should be: 0
error : Corrupt
v34_hlstatsx.hlstats_Events_Frags
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Events_Latency
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Events_PlayerActions
warning : 3 clients are using or haven't closed the table properly
error : Found 598985 keys of 598983
error : Corrupt
v34_hlstatsx.hlstats_Events_PlayerPlayerActions OK
v34_hlstatsx.hlstats_Events_Rcon OK
v34_hlstatsx.hlstats_Events_Statsme
warning : 3 clients are using or haven't closed the table properly
error : Found 1113865 keys of 1113870
error : Corrupt
v34_hlstatsx.hlstats_Events_Statsme2
warning : Table is marked as crashed
warning : 3 clients are using or haven't closed the table properly
error : Record at pos: 12402288 is not remove-marked
error : record delete-link-chain corrupted
error : Corrupt
v34_hlstatsx.hlstats_Events_StatsmeLatency OK
v34_hlstatsx.hlstats_Events_StatsmeTime OK
v34_hlstatsx.hlstats_Events_Suicides
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Events_TeamBonuses
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Events_Teamkills
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Games OK
v34_hlstatsx.hlstats_Games_Defaults OK
v34_hlstatsx.hlstats_Games_Supported OK
v34_hlstatsx.hlstats_Heatmap_Config OK
v34_hlstatsx.hlstats_HostGroups OK
v34_hlstatsx.hlstats_Livestats
note : The storage engine for the table doesn't support check
v34_hlstatsx.hlstats_Maps_Counts
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Mods_Defaults OK
v34_hlstatsx.hlstats_Mods_Supported OK
v34_hlstatsx.hlstats_Options
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Options_Choices OK
v34_hlstatsx.hlstats_PlayerNames
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_PlayerUniqueIds
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Players
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Players_Awards
warning : 1 client is using or hasn't closed the table properly
status : OK
v34_hlstatsx.hlstats_Players_History
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Players_Ribbons
warning : 2 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Ranks OK
v34_hlstatsx.hlstats_Ribbons OK
v34_hlstatsx.hlstats_Roles OK
v34_hlstatsx.hlstats_Servers
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Servers_Config OK
v34_hlstatsx.hlstats_Servers_Config_Default OK
v34_hlstatsx.hlstats_Servers_VoiceComm OK
v34_hlstatsx.hlstats_Teams OK
v34_hlstatsx.hlstats_Trend
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_Users OK
v34_hlstatsx.hlstats_Weapons
warning : 3 clients are using or haven't closed the table properly
status : OK
v34_hlstatsx.hlstats_server_load
warning : 3 clients are using or haven't closed the table properly
status : OK

Repairing tables
v34_hlstatsx.hlstats_Events_Connects
warning : Number of rows changed from 52130 to 52129
status : OK
v34_hlstatsx.hlstats_Events_Entries
warning : Number of rows changed from 73497 to 73496
status : OK
v34_hlstatsx.hlstats_Events_PlayerActions OK
v34_hlstatsx.hlstats_Events_Statsme OK
v34_hlstatsx.hlstats_Events_Statsme2
warning : Number of rows changed from 1109219 to 1109228
status : OK
 
Сверху Снизу