`
gdcxq
  • 浏览: 11368 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Linux中Mysql区分大小写解决方法

阅读更多

     Windows下安装的Mysql默认是不区分大小写的,而Linux下安装的Mysql默认是区分大小的,包括对数据库名、表名、表的的别名和变量名区分大小写,而对列名和列的别名不区分大小写。下面针对这种情况进行验证并作出相应的解决方法。

1、验证Linux下Mysql默认情况

现在mysql中有一个数据库为mytest,它有一个数据表user(name,sex),表中存放有一条数据。以下分别对数据库名,表名,表的别名,列名进行大小写区别验证。

a.默认对数据库名区分大小写

由于建立的数据库为全部小写mytest,当大小写混合输入use myTEST时,提示未知数据库,即查找不到对应的数据库名,而小写输入use mytest时,查找正常,因此可以说明默认对数据库名区分大小写。

b.默认对表名区分大小写

当查询时用表名的大写USER,提示表名不存在,而当用小写user时查询正常,可以说明默认对数据表区分大小写。

c.默认对表的别名区分大小写

用t作为表user的别名,当查询列“name”的值用大写的T时提示未知列名,而用小写t时查询正常,可以说明默认对表的别名区分大小写。

d.对列名不区分大小写

由上面可以看出,不管列名用大写NAME还是用小写name,都可以正常查询,可以说明对列名不区分大小写。

 

2、解决方法

a.用root账号登陆Linux系统,在/etc/my.cnf文件中的[mysqld]后添加lower_case_table_names=1,如下:
  

保存并退出。

b.重启数据库

经过上面的操作,就可以令mysql忽略对大小写的敏感。

注意:

①lower_case_table_names 设置为0,表示区分大小写;lower_case_table_names 设置为1,,表示忽略大小写,创建的数据库,表都是以小写形式存放在磁盘上,对于sql语句都是转换为小写对表和DB进行查找;

②当设置了lower_case_table_names = 1时,需要先将原来的数据库名和表名转换为小写,再重启数据库实例,否则就会出现数据库名和表名不存在的情况,所以要想忽略大小写,还需要提前将大写数据库名和表名更改为小写,否则会报错,另外数据库名无法rename可以新建一个小写的数据库名;

③如果在/etc或/etc/mysql下没有找到my.cnf的话,需要从其它地方拷贝过来,这是因为使用rpm方式安装时,默认是没有在/etc或/etc/mysql目录下生成my.cnf的,我们可以在/usr/share/mysql/下找到*.cnf文件,拷贝其中的一个放到/etc下并更名为my.cnf,然后再按上面的方法进行即可。

 

3、验证是否修改成功

a.验证数据库名:

由以上看出,已忽略对数据库名大小写的区分。

b.验证表名:

由以上看出,已忽略对表名大小写的区分。

c.验证表的别名:

由以上看出,已忽略对表的别名大小写的区分。

至此,关于linux中mysql默认对大小写区分的解决方法已完成。

  • 大小: 3 KB
  • 大小: 4.8 KB
  • 大小: 4.9 KB
  • 大小: 4.1 KB
  • 大小: 15.1 KB
  • 大小: 2.6 KB
  • 大小: 1.6 KB
  • 大小: 4.2 KB
  • 大小: 4 KB
分享到:
评论

相关推荐

    LINUX系统下mysql的大小写区分问题.docx

    LINUX系统下mysql的大小写区分问题.docx

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

    今天郁闷死了,在LINUX下调一个程序老说找不到表,但是我明明是建了表的,在MYSQL的命令行下也可以查到,为什么程序就找不到表呢?

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

    mysql是否区分大小写设置是由参数lower_case_table_names决定的,其中: 1)lower_case_table_names = 0  区分大小写(即对大小写不敏感),默认是这种设置。这样设置后,在mysql里创建的表名带不带大写字母都...

    MySQL修改配置 区分大小写

    MySql查询不区分大小写解决方案(两种)MySQL中查询的有关英文字母大小写问题的分析Mysql大小写敏感的问题Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t exist错误教你如何在windows与linux系统中设置...

    linux mysql中的坑

    今天在开发中遇到这么个问题,将连接的...而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不区分大小写的,后来查资料才发现,在Linux系统中MySQL默认是严格区分大小 写的,可以在配置文件中添加配置,

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

    说明: MySQL 在 Windows 下不区分大小写,但在 Linux 下默认是区分大小写。因此,数据库名、 表名、字段名,都不允许出现任何大写字母,避免节外生枝。 正例: aliyun _ admin , rdc _ config , level 3_

    Linux下安装MySQL8.0以上版本.pdf

    Linux下安装mysql-8.0.21,全过程详细记录步骤,特别是是否区分大小写。

    数据库设计规范

    说明:MySQL 在 Windows 下不区分大小写,但在 Linux 下默认是区分大小写。因此,数据库 名、表名、字段名,都不允许出现任何大写字母,避免节外生枝。 正例:health_user,rdc_config,level3_name 反例:HealthUser...

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

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

    flowable 6.3.0

    flowable 6.3.0 ZIP包,包含了文档、lib包,5个War包flowable-admin.war,flowable-idm.war,flowable-modeler.war,flowable-rest.war,flowable-task.war

    linux 常用命令10大命令知识笔记详解.docx

    同时,名称是区分大小写的。为了提高可读性,通常使用小写字母,并用下划线或连字符分隔单词。此外,变量的命名也需遵循类似规则,即以字母或下划线开头,不能包含空格和特殊字符。这些命名规则确保了Linux系统中的...

    Linux 常用命令综合实验测试题-四个大题.docx

    同时,名称是区分大小写的。为了提高可读性,通常使用小写字母,并用下划线或连字符分隔单词。此外,变量的命名也需遵循类似规则,即以字母或下划线开头,不能包含空格和特殊字符。这些命名规则确保了Linux系统中的...

    面试系统linux 常用的20种必会的命令.docx

    同时,名称是区分大小写的。为了提高可读性,通常使用小写字母,并用下划线或连字符分隔单词。此外,变量的命名也需遵循类似规则,即以字母或下划线开头,不能包含空格和特殊字符。这些命名规则确保了Linux系统中的...

    MySQL开发规范与使用技巧总结

    c)字段名显示区分大小写,但实际使⽤用不区分,即不可以建立两个名字一样但大小写不一样的字段。 d)为了统一规范, 库名、表名、字段名使用小写字母。 2.库名、表名、字段名禁止超过32个字符。 库名、表名、

    程序员5个刷题网站-MySQLTutorials:MySQL学习教程

    区分大小写) 所有数据库对象名称禁止使用 所有数据库对象名称必须要见名识义,并且最好不超过32个字符 临时表:以 tmp 为前缀并以日期为后缀 备份表:以 bak 为前缀并以日期为后缀 所有存储相同数据的

    scripts:各种脚本,例如Invoke-Locate.ps1

    Invoke-Locate支持区分大小写和不区分大小写的搜索,并且默认情况下不区分大小写。 定位搜索是按用户进行的,并且数据库安全地存储在您的主目录中。 您可以搜索系统文件和您自己的主目录,但无

    cmd操作命令和linux命令大全收集

    它在 Windows NT/2000/XP 中均可使用,但在 Windows 98 中却没有集成这一个工具。 4. explorer-------打开资源管理器 5. logoff---------注销命令 6. shutdown-------60秒倒计时关机命令 7. lusrmgr.msc----本机...

    mytmall:一个基于SSM的模仿天猫商城的web项目

    SSM的学习例子,使用Intellij进行的,spring,mybatis,...补充:MySQL在windows下不区分大小写,但是在Linux默认是区分大小写。所以之前会出现在本地项目中对数据库的操作没有问题,但是部署到服务器(CentOS)之后就出

Global site tag (gtag.js) - Google Analytics