Ubuntu 环境下MySQL表名大小写敏感

开发环境

  • 操作系统:Ubuntu 19.04
  • 数据库:MySql 5.7

问题分析

  1. 本身Mysql是不存在大小写敏感问题的,引起问题的原因是来自于操作系统。我将公司分配的电脑重装成了Ubuntu,而同事的电脑还是预装的Windows10。在SpringBoot框架上实现定时任务,在Mybatis XML文件中总是喜欢将定时任务的表名设为大写的形式,而Mysql数据库中的表名为小写的形式。这在Windows10运行程序不会存在问题,但是在Ubuntu操作系统环境下运行程序就会发生表不存在的问题(table not extis)。
  2. 在Ubuntu操作系统下配置Mysql数据库时,安装了Mysql的最新版本8.0.13,按照网上的教程解决大小写敏感的问题总是不成功,教程上并没有说明所使用Mysql的版本,从实验结果来看基本上都是Mysql 5.7的教程,不同版本的文件配置上还是存在差异。

问题解决

  1. 将Mysql 8.0.13 降级到 Mysql 5.7(先删除后重装)
  2. sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,在[mysql]标签下配置lower_case_table_names=1
    Ubuntu 环境下MySQL表名大小写敏感_第1张图片
  3. /etc/init.d/mysql restart 重启mysql 服务使配置生效,如果是Mysql 8.0.13版本在/etc/init.d目录下找不到mysql文件。

Note

  • Mysql 卸载教程:Ubuntu Mysql卸载
  • Mysql 安装教程:Ubuntu Mysql安装

你可能感兴趣的:(Deal,Bug,Mysql,Ubuntu,table,not,exits)