Gogs 连接 MySQL 报 Error 1071 “key was too long“ 怎么处理

发布时间:2026/9/10 15:36:04
Gogs 连接 MySQL 报 Error 1071 “key was too long“ 怎么处理 Gogs 连接 MySQL 报 Error 1071 key was too long 怎么处理【免费下载链接】gogsThe painless way to host your own Git service项目地址: https://gitcode.com/GitHub_Trending/go/gogs用 MySQL 或 MariaDB 作为 Gogs 的后端数据库时启动或连接数据库阶段可能报出这个错误Error 1071: Specified key was too long; max key length is 1000 bytesGogs 官方排错文档给出的原因是数据库当前使用的是 MyISAM 存储引擎它的最大键长比 InnoDB 短导致 Gogs 建表/索引时超长。处理方式是登录 MySQL 把存储引擎切到 InnoDB然后重启 Gogs。前提是你已经按 安装文档 的要求初始化了 MySQLMySQL 5.7且custom/conf/app.ini中[database] TYPE mysql。确认错误与原因对照 排错文档 中 Incorrect MySQL storage engine (key too long) 一节的描述错误信息形如Error 1071: Specified key was too long; max key length is 1000 bytes可能原因数据库在 MyISAM 存储引擎上而 MyISAM 允许的最大键长小于 InnoDB。如果你只是启动后偶发、不确定具体在哪张表先确认现象与上面的错误文本一致再按下面的步骤切换存储引擎。切换存储引擎到 InnoDB文档给出的修复动作发生在导入初始 schema 之后。登录 MySQL执行USE gogs; SET GLOBAL storage_engineINNODB;这两条语句的含义是选中 Gogs 使用的gogs库并把 MySQL 的全局默认存储引擎改为 InnoDB。执行完不会立刻改变已有表但会让 Gogs 后续按新引擎连接数据库。重启 Gogs 验证文档明确要求重启 Gogs让它以新的存储引擎重新连接数据库。成功条件即重启后 Gogs 能正常连接 MySQL不再报 Error 1071。gogs web的启动方式见 安装文档如果你以 systemd 服务方式运行重启服务即可参见 run-as-service。初始化阶段如何避免该问题如果你还在建库阶段可以用仓库自带的脚本创建数据库。它会自动设置 InnoDB 相关全局参数并按版本区分处理MySQL 8 之前的版本以及 MariaDB 10.3 之前的版本会额外设置innodb_file_format Barracuda、innodb_large_prefix ON脚本同时创建utf8mb4编码的gogs库。mysql -u root -p scripts/mysql.sql注意 scripts/mysql.sql 中包含DROP DATABASE IF EXISTS gogs;如果gogs库已存在执行该脚本会先删库再重建。所以它只适合首次初始化库里有数据时不要重复执行。建好库之后在custom/conf/app.ini的[database]段把后端指定为 MySQL对 MariaDB 同样使用TYPE mysqlGogs 通过 MySQL 线协议连接 MariaDB。相关配置键在仓库默认配置 conf/app.ini 的[database]段中有注释例如TYPE、HOST、NAME、USER、PASSWORD。相关文档排错条目原文docs/asking/troubleshooting.mdx数据库初始化与版本要求docs/getting-started/installation.mdx建库脚本scripts/mysql.sql【免费下载链接】gogsThe painless way to host your own Git service项目地址: https://gitcode.com/GitHub_Trending/go/gogs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询