1.错误711(42000):指定的密钥太长;无法创建。最大密钥长度为1536字节错误;

2.环境:数据库版本:mysql5.7.28

操作系统:centos6.8

3.```创建表QRTZ_BLOB_TRIGGERS(->SCHED_NAME varchar(120)CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,->TRIGGER_NAME varchar(200)CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,->TRIGGER_GROUP varchar(200)字符集utf8 COLLATE utf8_general_ci NOT NULL,->BLOB_DATA blob为NULL,->使用BTREE的主键(“ SCHED_NAME”,“ TRIGGER_NAME”,“ TRIGGER_GROUP”),-> CONSTRAINTqrtz_blob_triggers_ibfk_1外键(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)参考QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)删除后重新更新->)ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT ='InnoDB free:504832 kB;(`SCHED_NAMETRIGGER_NAMETRIGGE’ROW_FORMAT =动态;错误1071(42000):指定的密钥太长;最大密钥长度为1536字节

4.查询官方文档该错误是由 系统变量innodb_large_prefix(设置启用, 注意实验版本为MySQL 5.6.41,而是关闭的,

MySQL 5.7版本开启 ),则对于使用DYNAMIC或COMPRESSED行格式的InnoDB表,索引键扩展限制为3072字节。

innodb_large_prefix,则对于任何行格式的表,索引键限制限制为767字节。

在MySQL 5.5中约会了innodb_large_prefix,使用了大量的大型索引.对于使用REDUNDANT或COMPACT行格式的InnoDB表,索引键长度限制为767字节。例如,您可能会在TEXT或VARCHAR列上使

用超过255个字符的列索引索引达到此限制,假设为utf8mb3字符集,并且每个字符最多包含3个字节。

尝试使用超出限制的索引键扩展长度会返回错误。要避免复制配置中出现此类错误,请避免在主服务器上启用

enableinnodb_large_prefix(如果无法在从服务器上启用)。

适用于索引键预设的限制也适用于全列索引键。

注意:上面是767个字节,而不是字符,具体到字符数量,由此跟字符集有关。GBK是双字节的,UTF-8是三字节的

5.官方提供解决方案:

1:系统变量innodb_large_prefix为ON

2:系统变量innodb_file_format为梭子鱼

3:ROW_FORMAT为动态或压缩

6.经测试改变上述三个参数依然无法解决报错问题,但是尝试安装安装的默认配置文件部署mysql是可以正常创建,判断是由

配置文件引起的无法创建表问题,通过测试发现配置文件中innodb_page_size参数配置大小为8192,而默认配置大小

是16384,调整该参数至16384问题解决。

7.上述创建的语句中外键索引所需字节大小为(120 + 200 + 200)* 3 = 1560,但是为何页面页替换16k就没问题,没有找到直观的证据,暂未可知(据说应该是页大小和索引行长度的关系,16k的页对应3072,8k的页对应1536)

mysql5.7 至少需要1560,mysq5.7.28配置innodb_page_size错误引起的错误1071(42000)相关推荐

  1. mysql-5.7.11-winx64_mysql 5.7.11 winx64安装配置教程

    本文以MySQL5.7.11为例,介绍mysql5.7.zip在win系统下的安装. 一.前提条件: 1. win管理员 2. MySQL安装包(zip包) 二.安装过程 首先解压MySQL安装包到自 ...

  2. android oppo定位不到,OPPO新一代安卓旗舰解密:至少三款型号,定位配置完全不同...

    原标题:OPPO新一代安卓旗舰解密:至少三款型号,定位配置完全不同 目前我们已经获得了不少OPPO Find X3手机的信息,不过现在透露的硬件主要都是这一系列最顶级型号,也就是Find X3 Pro ...

  3. mysql-5.7.24初始化数据库_MySQL5.7.28 初始化数据库

    1)初始化随机密码    mysqld --initialize [root@host-172-16-61-102 bin]# ./mysqld --initialize 2020-02-15T07: ...

  4. mysql-5.7.21-winx64_MySql-5.7.17 -winx64的安装配置

    一.下载软件 1. 进入mysql官网,登陆自己的Oracle账号(没有账号的自己注册一个),下载Mysql-5.7.17,下载地址:http://dev.mysql.com/downloads/my ...

  5. centos下tomcat6.0.28配置

    系统环境:centos 6.3 64bit  IP:192.168.1.108 tomcat版本:apache-tomcat-6.0.28.tar.gz jdk版本: jdk-6u18-linux-x ...

  6. mysql-5.7.20实用下载、安装和配置方法,以及简单操作

    1.     下载: mysql-5.7.20是解压版免安装的,mysql-5.7.20下载地址:http://dev.mysql.com/downloads/mysql/ 直接下载,无需注册和登录. ...

  7. mysql5.7.14操作命令_Mysql5.7.14安装配置方法操作图文教程(密码问题解决办法)

    本篇文章主要涉及mysql5.7.14用以往的安装方法安装存在的密码登录不上,密码失效等问题的解决办法,希望可以帮到有同样困扰的朋友. 具体过程如下: 一.软件下载: 2.将下载的文件进行减压,作者的 ...

  8. mysql5.7.19设置_MySQL5.7.19安装配置

    我的安装目录为:D:\Database\MySQL\mysql-5.7.19-winx64 1.解压MySQL-5.7.19 2.设置环境变量 MYSQL_HOME:D:\Database\MySQL ...

  9. MySQL5.7在Ubuntu上的安装、配置与使用

    前言 服务器上安装东西一直是很让我头疼的事情,缘由:Linux基础不好.. 安装MySQL踩了很多坑,绕了很多弯路,这次踩得是tar包安装的坑... 当然,与tar包无关... 环境: Ubuntu ...

最新文章

  1. java中抽象接口_一篇文章让你彻底理解java中抽象类和接口
  2. 英语发音表及读法_在英语中年月日的读法和写法(附:英美时间表达差异辨析)...
  3. linux下防火墙加白名单
  4. QT的QFontDialog类的使用
  5. Technical User Stories – What, When, and How?
  6. Kotlin 1.2 新特性
  7. VC 对话框背景颜色 控件颜色
  8. 当前NLP迁移学习中的一些问题
  9. python爬虫100个入门项目
  10. 非常实用的程序员在线工具箱大全,码农必备
  11. Redmi显示器调节亮度 27英寸/2k/ IPS技术/低蓝光
  12. INCONEL 625合金介绍
  13. HDU 4568 Hunter
  14. 如何区分电梯卡为id卡ic卡_如何分辨IC卡和ID卡
  15. Windows中Redis的下载安装与修改密码并启动
  16. python逻辑量是什么意思_python 逻辑术语
  17. Node Sass could not find a binding for your current environment
  18. html360搜索框代码,HTML 代码标签
  19. MKS PI V1.0使用说明书
  20. Linux 常用命令行、配置

热门文章

  1. ArcEngine二次开发_02(鼠标移过图层中显示特定的属性信息)
  2. 深入浅出 eBPF: (Linux/Kernel/XDP/BCC/BPFTrace/Cillium)
  3. Cilium:BPF和XDP参考指南
  4. (3)Linux进程调度-进程切换
  5. ncurses初始化函数:raw(),cbreak(),echo(),noecho(),keypad(),halfdelay()
  6. 2018在职计算机科学硕士申请,2018年计算机专业硕士在职研究生备考指导
  7. VUE3@clli组件样式、全局组件、配置打包
  8. 光纤传感器实验模块_实验3振动测量试验模块.doc
  9. java中对象排序_java中 对象的排序
  10. [Unity脚本运行时更新]C#5新特性