贰壹网络00CMS框架是一款PHP8高性能·简单易用的CMS开源开发框架,基于MIT开源许可协议发布,免费且不限制商业使用,是免费开源的产品,以万端互联为设计理念,支持的微信公众号、小程序、APP客户端、移动端网站、PC网站等多终端式管理系统。
会员介绍 OEM版权 版本更新 小程序开发 在线演示
网站代管服务 数据定时备份 技术指导 服务器安全加固 域名授权查询
免费开源 隐私政策 法律声明 版权声明 用户协议
免费技术支持 立即提问咨询 捐赠我们
微信扫描上方二维码
MySQL数据库index column size too large. the maximum column size is 767 bytes问题解决方法:
最快捷的方法是切换数据库版本,MySQL57 MySQL8+分别切换试一试,如果不想切换数据库版本就往下看(也可以百度搜索设置方法)
在恢复一个mysql库的备份文件时遇到报错,报错信息为index column size too large. the maximum column size is 767 bytes,此问题为备份的库索引过长超过限制,目标数据库引擎为INNODB 引擎,编码UTF-8,主键字符串默认最大767,理论上是需要优化备份数据库的,但是在实际环境中如果没办法优化,我们可以通过配置目标数据库来解决这个报错
mysql在执行脚本时,报出了以下错误:
index column size too large. the maximum column size is 767 bytes
解决方案:
1. 对数据库进行设置
set global innodb_file_format = BARRACUDA
set global innodb_large_prefix = ON
注意: 在navicat中执行成功,不清楚重启数据库是否还有效
查看是否生效
show variables like 'character%';show variables like 'collation_%';show variables like 'innodb_large_prefix';show variables like 'innodb_file_format';
============================================
修改数据库的配置文件(vim /etc/my.cnf),加入如下两行配置
innodb_large_prefix=on innodb_file_format=BARRACUDA12
重启数据库并登录数据库检查配置是否生效
service mysql restart show variables like 'innodb_large_prefix'; show variables like 'innodb_file_format';