`

mysql 5.X 迁移linux上,表名大小写敏感问题!

阅读更多

mysql数据库,库名以目录名存在,表名以文件名(后缀为.frm.MYD.MYI)存在。

如test库下user表,在windows中%mysql_home%\data\test\user.frm,windows文件名大小写不敏感,
无论是 select * from test.user 还是 select * from test.USER,都是没有问题的。

而在linux中/var/lib/mysql/test/user.frm,
如果是 select * from test.user 就必须存在 user.frm
如果是 select * from test.USER 就必须存在 USER.frm
这是两个不同的文件,也是两个不同的表名。
同样库名是以目录存在,也存在区分大小写的问题。

 

解决方法:

1.用ROOT登录,修改/etc/my.cnf
2.在[mysqld]下加入一行:lower_case_table_names=1
3.重启数据库

分享到:
评论

相关推荐

    MySql下实现查询表名不区分大小写

    本文将深入探讨如何在Linux下通过修改MySQL配置,使查询操作中表名的大小写变得不敏感。 ### MySQL配置文件my.cnf 在Linux系统中,MySQL的主要配置文件通常位于`/etc/my.cnf`或`/etc/mysql/my.cnf`。如果这些路径...

    MySQL表名不区分大小写的设置方法

    此外,尽管设置为1可以使MySQL在逻辑上不区分大小写,但为了保持一致性,建议在定义表名和编写SQL语句时始终使用小写,避免因大小写问题引起不必要的困扰。 在开发过程中,特别是涉及跨平台的应用,了解并适当地...

    MySQL数据库大小写敏感的问题

    当从Windows环境迁移数据到Linux环境时,可能会遇到因表名大小写不一致而导致的问题。例如,如果在Windows上创建了一个名为`codetc_Web`的表,然后在Linux上导入,由于Windows不区分大小写,表名可能被自动转换为...

    mysql表名忽略大小写配置方法详解

    MySQL数据库在处理表名、数据库名以及列名时的大小写规则可能会因操作系统的差异而有所不同。在Linux系统中,默认情况下,MySQL是区分大小写的,这可能会给开发和维护带来不便,尤其是对于那些习惯于不区分大小写...

    教你如何在windows与linux系统中设置MySQL数据库名、表名大小写敏感

    Windows系统默认情况下,数据库名和表名是大小写不敏感的,而Unix/Linux系统则通常是大小写敏感的。这种差异可能会导致在不同操作系统之间迁移数据库时出现兼容性问题。为了解决这个问题,MySQL提供了一个名为`lower...

    linux mysql中的坑

    ### Linux MySQL 中的大小写敏感性问题解析及解决方法 #### 背景与问题描述 在进行软件开发过程中,可能会遇到这样的问题:原本在本地Windows环境下运行良好的MySQL数据库应用程序,一旦部署到Linux服务器上,就...

    库名表名大小写问题与sqlserver兼容的启动配置方法

    本篇文章将详细介绍如何解决MySQL中的库名表名大小写问题以及使其与SQL Server兼容的启动配置方法。 MySQL默认在Linux环境下是大小写敏感的,而在Windows环境下则是大小写不敏感的。这意味着在Linux上,表名...

    Mysql大小写敏感的问题

    在Windows系统中,MySQL通常不区分表名的大小写,但当你将数据从Windows迁移到Linux系统时,可能会遇到问题,因为Linux系统是区分大小写的。默认情况下,Linux下的MySQL配置`lower_case_table_names`参数为0,意味着...

    oracle到mysql的迁移

    1. **大小写敏感性差异**:Oracle数据库在默认情况下不区分大小写,但在MySQL中,特别是在Linux操作系统上,数据库名和表名是大小写敏感的。解决方案是确保MySQL的数据库名与Oracle的大小写一致,表名和应用程序中的...

    MySQL大小写敏感导致的问题分析

    MySQL数据库在处理表名、字段名时的大小写敏感性是一个常见的问题,尤其是在跨平台部署时。MySQL在Windows操作系统上默认是不区分大小写的,而在Linux操作系统上则是区分大小写。这种差异可能导致在本地开发环境中...

    Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t exist错误

    3. **查询验证**:在不确定表名大小写的情况下,可以使用反引号(`)包裹表名进行查询,如`SELECT * FROM `abc```,这样MySQL会按照原样解析表名,不会受系统大小写规则影响。 4. **数据库迁移**:如果是在不同操作...

    mysql 数据库小写转换为大写的解决方案

    例如,如果在Linux环境下创建了名为`test_table`的对象,并希望将其迁移到Windows环境中的MySQL数据库中,则可能会遇到因为名称大小写不一致而导致无法正确识别的情况。 本篇文章旨在提供一种解决方案,帮助用户在...

    mysql如何设置不区分大小写

    MySQL 是一个广泛使用的开源关系型数据库管理系统,它默认在大多数操作系统上区分大小写。然而,在某些情况下,开发者可能希望在数据库操作中不区分大小写,比如在处理用户输入或者实现某些特定逻辑时。本文将详细...

    数据从MySQL迁移到Oracle 需要注意什么

    在从Oracle移植到MySQL时,可能会遇到的问题包括大小写敏感性(在Linux环境下),因为Oracle通常不区分大小写,而MySQL在某些配置下是大小写敏感的。这可能导致表名或列名的匹配问题。此外,还有数据类型、存储过程...

    ERROR 1146 (42S02): Table ‘XXXX.xx’ doesn’t exist

    【2】linux的mysql区分大小写,数据库中的表名与输入的sql语句中的使用的表名大小写不一致导致的 【3】数据库操作时,误删mysql的文件导致(常见于数据库升级或迁移) 【4】在编译安装mysql时,没有指定innodb存储引擎...

    【数据面试系列】MySQL高频面试题及知识要点.pdf

    例如,在Linux系统上,文件系统通常是大小写敏感的;而在Windows系统上,则通常不敏感。可以通过`lower_case_table_names`系统变量来改变这一行为。 **3. 如何定义REGEXP?** 在MySQL中,`REGEXP`用于模式匹配,...

    Mysql数据库安装完成后需要进行的6个后续操作

    1. Linux下的MySQL默认区分表名大小写,若希望不区分大小写,可以在`my.cnf`的`[mysqld]`段落中添加`lower_case_table_names=1`,然后重启MySQL服务。 2. 定期更新MySQL到最新版本,以获取安全补丁和性能改进。 3. ...

    kettle 使用手册

    对字符串进行各种操作,如大小写转换等。 - **字符串替换** 1. 替换字符串中的特定字符。 - **排序记录** 1. 按照指定字段排序记录。 - **设置字段值** 1. 设置字段的值。 - **计算器** 1. 进行数值计算。 ...

Global site tag (gtag.js) - Google Analytics