Wt Dbo MySQL 后端连接错误 'SET storage_engine=INNODB;': 未知系统变量 'storage_engine'
Wt Dbo MySQL Backend connection error 'SET storage_engine=INNODB;': Unknown system variable 'storage_engine'
我一直在尝试使用 Wt::Dbo::backend::MySQL 最新版本 Wt-3.3.5 连接 MySql 数据库,但我一直收到错误消息:
"MySQL error performing query: 'SET storage_engine=INNODB;': Unknown system variable 'storage_engine'"
MySql 在 windows 7 上 运行,最新版本 MySql Server 5.7.10.
我试过执行:
设置storage_engine=INNODB;
在 MySql 命令行中,当然会得到相同的未知系统变量 'storage_engine'”。有效的命令是:
设置默认值_storage_engine=INNODB;
这是否意味着Wt::Dbo::backend::MySQL不支持MySql这个版本?我在他们的文档和互联网上都找不到任何东西。
谢谢,
我在以下链接中发现变量 "storage_engine" 确实已重命名为 "default_storage_engine",这导致某些软件开始遇到 MySql 最新版本的问题。
可能的解决方案有:
1) 通过修改函数中第 980 行附近的文件“MySQL.C”来更改 Wt::Dbo 源代码:
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,现在一切正常。
希望这对外面的人有帮助...干杯!
我一直在尝试使用 Wt::Dbo::backend::MySQL 最新版本 Wt-3.3.5 连接 MySql 数据库,但我一直收到错误消息:
"MySQL error performing query: 'SET storage_engine=INNODB;': Unknown system variable 'storage_engine'"
MySql 在 windows 7 上 运行,最新版本 MySql Server 5.7.10.
我试过执行:
设置storage_engine=INNODB;
在 MySql 命令行中,当然会得到相同的未知系统变量 'storage_engine'”。有效的命令是:
设置默认值_storage_engine=INNODB;
这是否意味着Wt::Dbo::backend::MySQL不支持MySql这个版本?我在他们的文档和互联网上都找不到任何东西。
谢谢,
我在以下链接中发现变量 "storage_engine" 确实已重命名为 "default_storage_engine",这导致某些软件开始遇到 MySql 最新版本的问题。
可能的解决方案有:
1) 通过修改函数中第 980 行附近的文件“MySQL.C”来更改 Wt::Dbo 源代码:
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,现在一切正常。
希望这对外面的人有帮助...干杯!