zoukankan      html  css  js  c++  java
  • 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)

     

  • 相关阅读:
    c++ 左值、右值;左值引用、右值引用
    leetcode 837 新21点
    c++ 继承和组合
    ubuntu 16.04 常用命令小结
    vim 常用命令小结(转)
    leetcode 1371. 每个元音包含偶数次的最长子字符串 (状压 + 前缀和 +hash)
    leetcode 974 和可被K整除的子数组
    leetcode 910 最小差值II
    关于 mysqladmin
    PHP闭包(Closure)初探
  • 原文地址:https://www.cnblogs.com/wyb628/p/6754070.html
Copyright © 2011-2022 走看看