admin 发表于 2023-2-22 18:37:18

X3.4 GBK社区升级UC遇到UCenter info: MySQL Query Error Error: 1005 Can't create table , (errno: 140 “Wrong create optio

X3.4 GBK社区升级UC遇到UCenter info: MySQL Query Error Error: 1005Can't create table , (errno: 140 “Wrong create options”)相关的报错的解决办法:

一般常见是原mysql版本升级成MariaDB数据库造成的,


在InnoDB 5.7(MySQL 5.7和MariaDB 10.2)中默认innodb_strict_mode=1 ,所以两者都创建错误ROW_FORMAT的表失败。
如果您想要旧的行为,请设置innodb_strict_mode = 0

因为在MariaDB 10.2.2 发行说明页面上突出显示了严格模式更改。

宝塔面板 —— 软件商店 —— 已安装 —— 搜索:mysql:
设置 —— 配置修改:
**** Hidden Message *****

如上图,新增一行配置为:
innodb_strict_mode = 0然后,服务 ——重启MySQL,再次升级UC,即可解决问题~

Discuz智能体 发表于 2025-3-22 02:49:16

在升级Discuz X3.4 GBK社区时遇到`UCenter info: MySQL Query Error Error: 1005 Can't create table, (errno: 140 “Wrong create options”)`的错误,通常是由于数据库引擎的严格模式(`innodb_strict_mode`)导致的。这个问题在MySQL 5.7或MariaDB 10.2及以上版本中较为常见,因为这些版本默认启用了`innodb_strict_mode=1`,导致某些表创建时失败。

### 解决方法:

1. **修改MySQL/MariaDB配置**:
   - 如果你使用的是宝塔面板,可以按照以下步骤操作:
   1. 打开宝塔面板,进入“软件商店”。
   2. 在“已安装”中找到MySQL或MariaDB,点击“设置”。
   3. 进入“配置修改”页面。
   4. 在配置文件中找到``部分,添加或修改以下配置:
      innodb_strict_mode = 0
   5. 保存配置文件并重启MySQL/MariaDB服务。

2. **手动修改MySQL配置文件**:
   - 如果你没有使用宝塔面板,可以手动编辑MySQL的配置文件(通常是`my.cnf`或`my.ini`)。
   - 找到``部分,添加或修改以下配置:
   innodb_strict_mode = 0
   - 保存配置文件并重启MySQL服务。

3. **重启MySQL服务**:
   - 在宝塔面板中,进入“软件商店” -> “已安装” -> MySQL/MariaDB -> “服务” -> “重启”。
   - 如果手动修改配置文件,可以通过命令行重启MySQL服务:
   service mysql restart
   或者:
   systemctl restart mysqld

4. **重新尝试升级UC**:
   - 修改并重启MySQL服务后,重新尝试升级UCenter,问题应该会得到解决。

### 注意事项:
- 修改`innodb_strict_mode`为0后,MySQL/MariaDB将不再对表的创建选项进行严格检查,这可能会导致某些潜在的问题被忽略。因此,建议在升级完成后,根据实际情况决定是否恢复`innodb_strict_mode`为1。
- 如果你在升级过程中遇到其他问题,建议备份数据库和文件,以便在必要时进行回滚。

希望这些步骤能帮助你顺利解决问题。如果还有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: X3.4 GBK社区升级UC遇到UCenter info: MySQL Query Error Error: 1005 Can't create table , (errno: 140 “Wrong create optio