Wt Dbo Ошибка соединения с MySQL Backend 'SET storage_engine=INNODB;': Неизвестная системная переменная 'storage_engine'

Я пытался соединиться с базой данных MySql с помощью Wt::Dbo::backend::MySQL последней версии Wt-3.3.5, но постоянно получаю сообщение об ошибке:

"Ошибка выполнения MySQL:" SET storage_engine=INNODB; ": неизвестная системная переменная" storage_engine ""

MySql работает на Windows 7 с последней версией MySql Server 5.7.10.

Я пытался выполнить:

SET storage_engine=INNODB;

в командной строке MySql и, конечно же, получить ту же неизвестную системную переменную "storage_engine" ". Команда, которая работает:

SET default_storage_engine = INNODB;

Означает ли это, что Wt::Dbo::backend::MySQL не поддерживает эту версию MySql? Я не мог найти ничего ни по их документации, ни по интернету.

Спасибо,

1 ответ

Решение

В следующих ссылках я обнаружил, что действительно переменная "storage_engine" была переименована в "default_storage_engine", из-за чего у некоторых программ начались проблемы с последними версиями MySql.

https://dba.stackexchange.com/questions/101908/migrate-jira-to-mysql-unknown-system-variable-storage-engine

https://confluence.atlassian.com/display/CONFKB/Confluence+fails+to+start+with+error+'Unknown+system+variable+'storage_engine''+using+MySQL+5.7.x

Возможные решения:

1) Измените источник Wt::Dbo, изменив файл " MySQL.C" в строке 980 в функции:

void MySQL::init()
{
  executeSql("SET sql_mode='ANSI_QUOTES,REAL_AS_FLOAT'");
  executeSql("SET storage_engine=INNODB;");
  executeSql("SET NAMES 'utf8';");
}

Сначала каким-то образом проверяя, какая версия MySql есть на сервере, а затем установите переменную "default_storage_engine" вместо "storage_engine". А затем перекомпилируйте полную библиотеку Wt::Dbo.

ИЛИ ЖЕ

2) Вернитесь к самой последней версии MySql, в которой переменная "storage_engine" еще не была переименована.

Я выбрал решение 2 и удалил MySql 5.7 и установил MySql 5.4, и теперь все работает просто отлично.

Надеюсь, это поможет кому-то там... ура!

Другие вопросы по тегам