mysql5.6批量设置表ROW_FORMAT =DYNAMIC问题

 更新时间:2023年10月18日 10:52:52   作者:DQZ_cool  
这篇文章主要介绍了mysql5.6批量设置表ROW_FORMAT =DYNAMIC问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mysql5.6批量设置表ROW_FORMAT =DYNAMIC

安装某个软件的时候提示

ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

后来发现是一些参数设置的问题,不知道mysql5.7会不会出现这个问题,

没有测试大家可以直接升级到mysql5.7看能不能解决

解决方法

1: 系统变量innodb_large_prefix为ON

2: 系统变量innodb_file_format为Barracuda

3: ROW_FORMAT为DYNAMIC或COMPRESSED

将这三个变量设置为以上状态:

分别可以使用命令 

1)show variables like '%innodb_large_prefix%';

2)show variables like '%innodb_file_format%';

3)SELECT table_schema, table_name, row_format  FROM information_schema.TABLES 
WHERE table_schema IN ( '数据库名') 【可以加筛选命令不是Dynamic的表 AND information_schema.TABLES.row_format <> 'Dynamic'】

查看参数状态如果参数状态不正确可以使用

set global innodb_large_prefix=on;

set global innodb_file_format=Barracuda;

两个命令完成

问题是第三个修改比较麻烦,mysql5.6没有全局设置表为ROW_FORMAT为DYNAMIC或COMPRESSED的属性,所以得一个个修改,后来想了个办法,

可以这样尝试操作:

1)可以通过命令

筛选出不等于Dynamic的表并生成更新语句

SELECT
    CONCAT( "ALTER TABLE `", table_schema, "`.`", table_name, "` ROW_FORMAT =DYNAMIC ;" ) 
FROM
    information_schema.TABLES 
WHERE
    table_schema IN ( '数据库名' ) AND information_schema.TABLES.row_format <> 'Dynamic'

将生成的语句批量执行就可以了!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL单表恢复的步骤

    MySQL单表恢复的步骤

    这篇文章主要介绍了MySQL单表恢复的步骤,帮助大家更好的理解和学习MySQL,感兴趣的朋友可以了解下
    2020-08-08
  • MySQL系列之四 SQL语法

    MySQL系列之四 SQL语法

    SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,这篇文章主要给大家介绍了SQL语法的相关资料,需要的朋友可以参考下
    2021-07-07
  • mysql 8.0.28 winx64.zip安装配置方法图文教程

    mysql 8.0.28 winx64.zip安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql 8.0.28 winx64.zip安装配置方法图文教程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • MySQL如何优雅的备份账号相关信息

    MySQL如何优雅的备份账号相关信息

    这篇文章主要介绍了MySQL如何优雅的备份账号相关信息,帮助大家更好的理解和学习MySQL,感兴趣的朋友可以了解下
    2020-08-08
  • SQL Server索引设计基础知识详解使用

    SQL Server索引设计基础知识详解使用

    为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引。索引设计不合理或者缺少索引都会对数据库和应用程序的性能造成障碍。高效的索引对于获得良好的性能非常重要。设计索引时,应该考虑相应准则
    2023-04-04
  • 部署MySQL延迟从库的好处小结

    部署MySQL延迟从库的好处小结

    这篇文章主要给大家介绍了部署MySQL延迟从库的一些好处,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • mysql 8.0.12 快速安装教程

    mysql 8.0.12 快速安装教程

    这篇文章主要为大家详细介绍了mysql 8.0.12的快速安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • mysql中drop、truncate与delete的区别详析

    mysql中drop、truncate与delete的区别详析

    对于drop、truncate和delete虽然简单,但是真要使用或者面试时候问到还是需要有一定的总结,下面这篇文章主要给大家介绍了关于mysql中drop、truncate与delete区别的相关资料,需要的朋友可以参考下
    2022-03-03
  • mysql如果数据不存在,则插入新数据,否则更新的实现方法

    mysql如果数据不存在,则插入新数据,否则更新的实现方法

    mysql如果数据不存在,则插入新数据,否则更新的实现方法
    2011-11-11
  • win10 下安装 mysql 5.7.14 详细图文教程

    win10 下安装 mysql 5.7.14 详细图文教程

    本文通过文字和图片相结合的形式给大家介绍了win10 下安装 mysql 5.7.14的教程的,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09

最新评论