栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL 迁移引发的一些问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL 迁移引发的一些问题

文章目录
    • ❌不同操作系统默认大小写敏感设置不同
    • ❌超出索引字节的限制
    • ❌超出行字节的限制

不得不说一下,测试环境和生产环境下真的不是我说,区别真的不是一星半点的不同。你需要考虑的问题真的有很多,这或许是有人喜欢使用苹果电脑的原因吧。

MySQL错误思路分析无非几个场景

  1. 配置文件与数据库默认配置冲突问题

  2. 默认参数变量限制操作

❌不同操作系统默认大小写敏感设置不同

默认参数变量限制操作

错误信息

java.sql.SQLSyntaxErrorException: Table 'jeecg-boot.QRTZ_LOCKS' doesn't exist

之所以有这种错误是因为数据库开启了大小写敏感,你可以通过 show global variables like '%lower_case%'; 命令来查询 lower_case_table_names 参数变量的值。当该参数的值为 1 时,即代表大小写不敏感。

解决方法

修改相关表名,将其重名为大写的。当然你也可以修改数据库默认配置文件 /etc/mysql/my.cnf ,但是这种并不可行容易出现配置文件与数据库默认配置冲突问题,一般出现在 docker 上面,导致数据库无法运行起来。


❌超出索引字节的限制

默认参数变量限制操作

错误信息

#1071 - Specified key was too long; max key length is 767 bytes

这个问题是创建表为其设置外键索引时候报的错误。这个问题在我本地环境下的电脑是没有的,当时我陷入一篇慌乱中,现在想想也就那样吧。

解决方法

mysql> set global innodb_large_prefix = ON;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

❌超出行字节的限制

默认参数变量限制操作

错误信息

#1709 - Index column size too large. The maximum column size is 767 bytes.

解决方法

mysql> set global innodb_file_format = Barracuda;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008083.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号