форум vBSupport.ru > vBulletin > Вопрос — Ответ
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
diim
Знаток
 
diim's Avatar
Default Ошибка базы при установки GTID
0

После установки на сервак модуля для репликации GTID появились ошибки при выполнений Запланированных задач, таких как "Счётчики просмотров тем" и "Просмотры вложений" таблицы в базе InnoDB
Кто встречался с данной проблемой откликнитесь, посоветуйте где ковырнуть ?

Счётчики просмотров тем
Code:
Ошибка базы данных в vBulletin 3.8.9:

Invalid SQL:
LOCK TABLES taggregate_temp_1490784960 WRITE, threadviews WRITE;

Ошибка MySQL     : When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.
Номер ошибки     : 1785
Дата запроса     : Wednesday, April 12th 2017 @ 10:31:22 AM
Дата ошибки      : Wednesday, April 12th 2017 @ 10:31:23 AM
Скрипт           : http://nowa.cc/admincp/cronadmin.php?do=runcron&cronid=2
Реферер          : http://nowa.cc/admincp/cronadmin.php?do=modify
IP адрес         : 78.62.119.49
Имя пользователя : diim
Имя класса       : vB_Database_MySQLi
Версия MySQL     : 5.6.35-80.0-log
Просмотры вложений
Code:
Ошибка базы данных в vBulletin 3.8.9:

Invalid SQL:
LOCK TABLES aaggregate_temp_1490785800 WRITE, attachmentviews WRITE;

Ошибка MySQL     : When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.
Номер ошибки     : 1785
Дата запроса     : Wednesday, April 12th 2017 @ 10:26:24 AM
Дата ошибки      : Wednesday, April 12th 2017 @ 10:26:24 AM
Скрипт           : http://nowa.cc/admincp/cronadmin.php?do=runcron&cronid=8
Реферер          : http://nowa.cc/admincp/cronadmin.php?do=modify
IP адрес         : 78.62.119.49
Имя пользователя : diim
Имя класса       : vB_Database_MySQLi
Версия MySQL     : 5.6.35-80.0-log
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Smalesh
В Черном списке
Default
0

Quote:
updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.
 
 
AleX
Гость
Default

http://greenh.info/error-1785-hy000-...nd-never-in-t/ и это: http://vbsupport.ru/forum/showpost.p...8&postcount=18

Last edited by AleX : 04-12-2017 at 03:18 PM.
 
 
kerk
k0t
 
kerk's Avatar
Default
0

Quote:
Originally Posted by diim View Post
LOCK TABLES taggregate_temp_1490784960 WRITE
и сколько таких таблиц в БД? taggregate_temp_*** и aaggregate_temp_
их там вообще нЕ должно быть
если таких таблиц много, то вот собственно одна из причин тормозов форума
как то вычищал с одного форума более нескольких тысяч таких таблиц
 
 
diim
Знаток
 
diim's Avatar
Default
0

Quote:
Originally Posted by AleX View Post
http://greenh.info/error-1785-hy000-...nd-never-in-t/ и это: http://vbsupport.ru/forum/showpost....8&postcount=18
Первая ссылка не открывается, по второй ссылке совершенно другое я эту тему уже изучал, прочтите первый пост внимательней из за чего и когда возникает эта ошибка.
Quote:
Originally Posted by diim View Post
После установки на сервак модуля для репликации GTID появились ошибки при выполнений Запланированных задач, таких как "Счётчики просмотров тем" и "Просмотры вложений" таблицы в базе InnoDB
Кто встречался с данной проблемой откликнитесь, посоветуйте где ковырнуть ?
Quote:
Originally Posted by kerk View Post
и сколько таких таблиц в БД? taggregate_temp_*** и aaggregate_temp_
Было всего по 4500 каждого типа таблиц в сумме 9000 таблиц я их все удалил еще месяц назад и отключил выполнение этих задач, так что это не решает вопрос с выведением аватаров в мемберлист, если вы это имеете ввиду. А на форуме вообще тормозов нет сервак гуляет после установке рекапчи на nginx на днях, отвалилось около 4000 ботов.
А проблема по вопросу описанной в этой теме возникла после установки модуля GTID, если его отключаешь все работает и обрабатывается без ошибок.

Кто сталкивался с этой проблемой и возникновения ошибок по исполнению задач Счётчики просмотров тем и Просмотры вложений и знает решение отзовитесь.

Last edited by diim : 04-13-2017 at 10:42 AM.
 
 
Smalesh
В Черном списке
Default
0

Еще раз
Quote:
Originally Posted by diim View Post
updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.
Запрос с выставленным ключом enforce-gtid-consistency будет дропнут, ибо таблица не поддерживает транзакцию, реплика обламывается. Потому что предположительно создается таблица с движком myisam, а он не держит репликации. Нужно смотреть код движка (прибивать гвоздями innodb в коде или ковырять настройки самой базы, тип движка по дефолту), либо отключать enforce-gtid-consistency. Первое лучше, второе костыльней с перспективой поломать базу нах.
 
 
diim
Знаток
 
diim's Avatar
Default
0

Smalesh, а если обновить движок до версии vbulletin 3.8.10 там вроде есть какие обновление по коду InnoDB , не кто не слышал ?
 
 
AleX
Гость
Default

@diim, по первой ссылке ответ на вопрос, а вторая — что вызывает возникновение этих тейблов. У меня всё прекрасно открывается.



В "\includes\cron" имеется файл крона attachmentviews.php, где указано следующее:
PHP Code:
$enginetype = (version_compare(MYSQL_VERSION'4.0.18''<')) ? 'TYPE' 'ENGINE';
$tabletype = (version_compare(MYSQL_VERSION'4.1''<')) ? 'HEAP' 'MEMORY';

$aggtable "aaggregate_temp_$nextitem[nextrun]";

$vbulletin->db->query_write("
    CREATE TABLE IF NOT EXISTS " 
TABLE_PREFIX "$aggtable (
        attachmentid INT UNSIGNED NOT NULL DEFAULT '0',
        views INT UNSIGNED NOT NULL DEFAULT '0',
        KEY attachmentid (attachmentid)
    ) 
$enginetype = $tabletype"); 
Тоже самое и в файле threadviews.php. Надеюсь тут всё понятно (О MEMORY: https://dev.mysql.com/doc/refman/5.7...ge-engine.html). Поэтому, внимательнее изучайте проблему сами.

Last edited by AleX : 04-13-2017 at 12:43 PM.
 
 
diim
Знаток
 
diim's Avatar
Default
0

@AleX,
В файлах В файлах attachmentviews.php , threadviews.php нашел:
$enginetype = (version_compare(MYSQL_VERSION, '4.0.18', '<')) ? 'TYPE' : 'ENGINE';
$tabletype = (version_compare(MYSQL_VERSION, '4.1', '<')) ? 'HEAP' : 'MEMORY';

Заменил на:
$enginetype = 'ENGINE';
$tabletype = 'MEMORY';

Code:
Ошибка базы данных в vBulletin 3.8.9:

Invalid SQL:
LOCK TABLES aaggregate_temp_1490785800 WRITE, attachmentviews WRITE;

Ошибка MySQL     : When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.
Номер ошибки     : 1785
Дата запроса     : Thursday, April 13th 2017 @ 12:10:49 PM
Дата ошибки      : Thursday, April 13th 2017 @ 12:10:49 PM
Скрипт           : http://nowa.cc/admincp/cronadmin.php?do=runcron&cronid=8
Реферер          : http://nowa.cc/admincp/cronadmin.php?do=modify
IP адрес         : 78.62.119.49
Имя пользователя : diim
Имя класса       : vB_Database_MySQLi
Версия MySQL     : 5.6.35-80.0-log
Ничего не помогло

Last edited by diim : 04-13-2017 at 01:18 PM.
 
 
AleX
Гость
Default

@diim, и не поможет, потому что MEMORY не поддерживает транзакции (это указано в посте выше, где имеется ссылка на описание: "Transactions: No").
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 12:00 PM.


Powered by vBulletin® Version 3.5.7
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...