近期在批量执行Mysql脚本的时候,遇到error1146的问题,有点不解,为何同样的脚本在windows执行没有错误,而在Linux上就有问题呢。对此进行了深入测试检查。

后来发现,在Linux上的那些报错的表都是大写的,由此找到了根源所在:

数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix/Linux 系统中是大小写敏感的。

这样就可对症下药,在Linux对mysql进行编辑设置

下面是在Linux执行时遇到的报错情况。

mysql error 1146 , table doesn't exist_第1张图片

解决办法:vi /etc/my.cnf

在mysql字段下加入下图红色矩形内的内容:1代表的是大小写不敏感

mysql error 1146 , table doesn't exist_第2张图片

编辑好如上内容以后重启Mysql即可:service mysqld restart

最后再去执行你要执行的sql文件即可,就不会有报错了