MySQL报错 table “xxx” doesn‘t exit的解决

 更新时间:2023年10月13日 09:02:54   作者:Hansel.Wn  
本文主要介绍了MySQL报错 table “xxx” doesn‘t exit的解决,主要原因是英文字母大小写敏感导致,下面就来介绍一下解决方法,感兴趣的可以了解一下

问题描述

以前项目的数据库部署在云端Windows Server系统上,最近有需求要把数据库移到CentOS7的服务器上,数据转移到时候一切正常,并且使用Navicat for MySQL访问数据库的时候也没有异常,但是项目实际运行起来的时候接口一直在报错,根据错误提示信息发现,好多表不存在:

报错原因

MySQL在Windows下不区分大小写,但是在Linux系统中默认是区分大小写的,上述问题就是由于英文字母大小写敏感导致的。

MySQL大小写敏感配置相关的两个参数,lower_case_file_systemlower_case_table_names

查看当前MySQL的大小写敏感配置,可以使用如下语句

lower_case_file_system

代表当前系统文件是否大小写敏感,只读参数,无法修改。ON 大小写不敏感,OFF 大小写敏感。这个参数描述的是数据库当前所在的操作系统的文件目录是否大小写敏感,OFF表示大小写敏感,ON表示大小写不敏感。此参数是只读的。

lower_case_table_names

代表表名是否大小写敏感,可以修改,参数有0、1、2三种。

0 大小写敏感。(Unix,Linux默认) 创建的库表将原样保存在磁盘上,SQL语句也会原样解析。
1 大小写不敏感。(Windows默认) 创建数据库表时,MySQL将所有的库表名转换成小写存储在磁盘上。 SQL语句同样会将库表名转换成小写。 如需要查询以前创建的表,即便执行select * from Testtable,也会被转换成select * from testtable,致使报错表不存在。
2 大小写不敏感(OS X默认) 创建的库表将原样保存在磁盘上, 但SQL语句将库表名转换成小写。

解决方法

修改配置文件,在Linux系统中修改my.cnf文件,在Windows下修改my.ini文件,新增或修改以下内容。

lower_case_table_names = 0 或 lower_case_table_names = 1
``
- 重启MySQL服务
```shell
> service mysqld restart

如果要将lower_case_table_names从0(敏感)修改为1(不敏感)时,必须先对旧数据表的表名进行处理,把所有数据库的表名先改为小写,最后再设置lower_case_table_names为1,否则依然会出现无法找到表名的问题。

到此这篇关于MySQL报错 table “xxx” doesn‘t exit的解决的文章就介绍到这了,更多相关MySQL table “xxx” doesn‘t exit内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Canal监听MySQL的实现步骤

    Canal监听MySQL的实现步骤

    本文主要介绍了Canal监听MySQL的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 从MySQL复制功能中得到的一举三得实惠分析

    从MySQL复制功能中得到的一举三得实惠分析

    在MySQL数据库中,支持单项、异步复制。在复制过程中,一个服务器充当主服务器,而另外一台服务器充当从服务器。笔者通过MySQL的复制功能得到了一下实惠,在下文中与大家分享。
    2011-03-03
  • 找回MySQL管理员root密码的3个妙招

    找回MySQL管理员root密码的3个妙招

    最近笔者的一台mysql服务器忘记了超级管理员root密码,而mysql修改密码必须得知道旧密码的情况下才能进行,真的很郁闷,找了很多方法都无 效,最终找到了解决方法,下面把mysql root密码找回妙招分享给大家,感兴趣的朋友一起看看吧
    2022-11-11
  • MySql数据库中的子查询与高级应用浅析

    MySql数据库中的子查询与高级应用浅析

    这篇文章主要给大家介绍了关于MySql数据库中子查询与高级应用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • Mysql慢查询优化方法及优化原则

    Mysql慢查询优化方法及优化原则

    这篇文章主要介绍了Mysql慢查询优化方法及优化原则,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-05-05
  • MySQL中create_time和update_time实现自动更新时间

    MySQL中create_time和update_time实现自动更新时间

    mysql建表的时候有两个列,一个是createtime、另一个是updatetime,这两个都是mysql自动填充时间的方式,本文就详细的介绍这两种方式的实现,感兴趣的可以了解一下
    2023-05-05
  • Linux下二进制方式安装mysql5.7版本和系统优化的步骤

    Linux下二进制方式安装mysql5.7版本和系统优化的步骤

    这篇文章主要介绍了Linux下二进制方式安装mysql5.7版本和系统优化的步骤,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 优化MySQL数据库中的查询语句详解

    优化MySQL数据库中的查询语句详解

    这篇文章主要介绍了优化MySQL数据库中的查询语句,非常实用的经验总结,需要的朋友可以参考下
    2014-07-07
  •  SQL 中 CASE 表达式的使用方式

     SQL 中 CASE 表达式的使用方式

    这篇文章主要介绍了 SQL 中 CASE 表达式的使用方式,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 使用innodb_force_recovery解决MySQL崩溃无法重启问题

    使用innodb_force_recovery解决MySQL崩溃无法重启问题

    这篇文章主要介绍了使用innodb_force_recovery解决MySQL崩溃无法重启问题,这只一个成功案例,并不是万能的解决方法,需要酌情考虑,需要的朋友可以参考下
    2015-05-05

最新评论