linux下rpm 安装的 mysql表名不区分大小写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下rpm 安装的 mysql表名不区分大小写相关的知识,希望对你有一定的参考价值。

看到网上好多都是修改/etc/my.cnf下添加lower_case_table_names=1 可是我的/etc/my.cnf这个文件没有内容,我尝试的添加了“[mysqld] lower_case_table_names=1”重启服务,并没有起作用,求助,哪位大神知道啊?

从你的描述上看,我估计你的/etc目录下根本就没有my.cnf文件,因为这个文件不可能是空白的。

如果你一开始就是直接以vi /etc/my.cnf命令执行的话,那我就猜对了。

先跟你说一下vi命令,vi /etc/my.cnf时,如果/etc目录下存在这个文件,就打开;如果不存在,就打开一个空白文件,并命名为my.cnf;所以你说你的文件打开时是空白的,我就猜测你可能搞错了。

接下来你可以从根目录开始,查找一下my.cnf文件,看能够搜索出几个来。如果有两个,那就印证我的测试,你重新修改一下另一个my.cnf文件重启就能生效。

如果以上都不对,那建议你上网搜索一下Linux下安装Mysql的步骤,你是不是少安装了什么组件,导致没有my.cnf文件。
参考技术A 具体操作如下:
一、linux中mysql大小写详情:
1、数据库名严格区分大小写
2、表名严格区分大小写的
3、表的别名严格区分大小写
4、变量名严格区分大小写
5、列名在所有的情况下均忽略大小写
6、列的别名在所有的情况下均忽略大小写
二、设置Mysql表名不区分大小写
1、切换到root用户
$ su - root
2、修改/etc/my.cof配置文件,
# sed -i '/\[mysqld\]/a\lower_case_table_names=1' /etc/my.cnf
lower_case_table_names参数详解:
0:区分大小写
1:不区分大小写
3、重启mysql
# service mysqld restart
参考技术B [mysqld] lower_case_table_names=1不能放到一起,
找到[mysqld]在下面加上一行:
lower_case_table_names=1
然后重启

Linux中MySQL忽略表中字段大小写

linux 下,mysql 的表面默认是区分大小写的,windows 下默认不区分大小写,我们大多数在windows 下开发,之后迁移到linux(特别是带有Hibernate的工程),可以修改配置是linux下,myql 表名不区分大小写

  MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

      1、数据库名与表名是严格区分大小写的;

      2、表的别名是严格区分大小写的;

      3、列名与列的别名在所有的情况下均是忽略大小写的;

      4、变量名也是严格区分大小写的;    MySQL在Windows下都不区分大小写

1. 修改 etc/my.cnf 文件 添加 

  lower_case_table_names =1

        其中 0:区分大小写,1:不区分大小写

我的linux 服务器上没有找到my.cnf文件,解决方法如下

Linux下用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,
  至于为什么没有这个文件而MySQL却也能正常启动和作用,在这有两个说法,
  第一种说法,my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动,
  第二种说法,MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件,这种说法仅限于rpm包安装的MySQL,
  解决方法,只需要复制一个/usr/share/mysql目录下的my-medium.cnf文件到/etc目录,并改名为my.cnf即可。

2. 注意,lower_case_table_names =1 的配置需要添加在my.cnf 文件的mysqld 配置节中

3. 重启mysql 服务, service mysql restart

4. 进入MySQL查看修改结果

  *查看大小写区分

  mysql> show variables like "%case%";
  +------------------------+-------+
  | Variable_name          | Value |
  +------------------------+-------+
  | lower_case_file_system | OFF   | 
  | lower_case_table_names | 1     |     //0区分 1不区分
  +------------------------+-------+

  2 rows in set (0.00 sec)

 











以上是关于linux下rpm 安装的 mysql表名不区分大小写的主要内容,如果未能解决你的问题,请参考以下文章

MySQL表名不区分大小写的配置方法-这里快速解决你的疑问!

MySQL表名不区分大小写的配置方法-这里快速解决你的疑问!

MySQL表名不区分大小写的配置方法-这里快速解决你的疑问!

MySQL表名不区分大小写的配置方法-这里快速解决你的疑问!

知识点:MySQL表名不区分大小写的设置方法

让 MySQL 在 Linux 下表名不区分大小写(实为表名全小写)