linux上是区分表名大小写的,但是可以通过 my.cnf文件中设置不区分!

1、找到my.cnf文件的所在地。

find / -name my.cnf

找到这个文件的位置。我服务器上的位置是 /usr/my.cnf

2、编辑该文件,加入 lower_case_table_name  = 1

cd /usr/
vi my.cnf
   修改后内容如下:

[mysqld]

lower_case_table_names = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    保存该文件

3、重启mysql 服务

service mysql restart

做完这些你再去查询之前的表例如TEST,你会发现还是不行!(嗯,这个问题坑了我两个小时)

不是说设置这个属性值就好了吗?为什么还不行! lower_case_table_name 无效果 ???

官方解释 ——> 点击打开链接

值 描述
0 表和数据库名存储在磁盘上。名称比较是区分大小写的。
1
表名以小写形式存储在磁盘上,名称比较不区分大小写。MySQL将所有表名转换为小写的存储和查找。

这种行为也适用于数据库名称和表别名。

2
表和数据库名称存储在磁盘上,使用CREATE Table中指定的lettercase或创建数据库语句,

但是MySQL将它们转换为小写的查找。名称比较不区分大小写。这只适用于不区分大小写的文件系统!InnoDB表名和视图名以小写形式存储,

至于小写的case_table_name =1。

因为以前的表已经使用大写的表名存储了,你查询的话只是把现在要查询的表 转成全小写 比如 select * from Test 在执行时他会转成 select * from test ,但是还是对不上以前的表。这个时候你可以把以前的表全都改成小写就可以了。从你把这个值改成1之后建立的表就不会有这种问题了。

mysql8新增特性:

lower_case_table_names can only be configured when initializing the server. Changing the lower_case_table_names setting after the server is initialized is prohibited.

意思是只有当数据库初始化修改lower_case_table_names才能生效。

---------------------
作者:无需有太多
来源:CSDN
原文:https://blog.csdn.net/qq_35170213/article/details/80352574
版权声明:本文为博主原创文章,转载请附上博文链接!

lower_case_table_name的更多相关文章

  1. 阿里云ECS服务器配置(Ubuntu+JAVA+Tomcat+Mysql)

    最近购买了阿里云的ECS服务器,就服务器的安装配置做简要的说明,也方便日后查看. 1.远程操作服务器 远程操作服务器可以使用putty工具,下载地址:http://pan.baidu.com/s/1q ...

  2. Linux下安装mysql数据库

    l 检查是否已安装mysql的相关包 [root@localhost ~]# rpm -qa|grep -i mysql MySQL-server-5.6.19-1.el6.x86_64 MySQL- ...

  3. mysql配置文件my.cnf详解

    原文地址:mysql配置文件my.cnf详解 作者:gron basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的 ...

  4. 【夯实Mysql基础】MySQL在Linux系统下配置文件及日志详解

    本文地址 分享提纲: 1. 概述 2. 详解配置文件 3. 详解日志 1.概述 MySQL配置文件在Windows下叫my.ini,在MySQL的安装根目录下:在Linux下叫my.cnf,该文件位于 ...

  5. 转载:PHP,MySQL的安装与配置

    本文转自:http://www.cnblogs.com/janas/archive/2012/08/27/2659240.html 一.安装配置PHP 1.下载Php的版本zip包之后,解压缩到指定目 ...

  6. MySQL 5.5 服务器变量详解一(转)

    add by zhj:在MySQL5.6中对一些参数有增删改,详见http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html ...

  7. Centos7安装并配置mysql5.6完美教程

    Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息.然而,网上关于Linux安装 ...

  8. mysql my.ini 详解

    linux下mysql配置文件my.cnf详解[转]   basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录 ...

  9. linux下mysql配置文件my.cnf详解

    basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录. datadir = path 从给定目录读取数据库文件 ...

随机推荐

  1. HBuilder自定义格式化代码

    对于代码格式到底为两个空格还是四个空格,可能大家喜欢的都不同,如果你是在使用HBuilder编辑器,那么恭喜你,这两种代码格式你可以轻易的更换.下面贴步骤 1.打开工具—>选项 2.选择HBui ...

  2. Redux学习笔记--异步Action和Middleware

    异步Action 之前介绍的都是同步操作,Redux通过分发action处理state,所有的数据流都是同步的,如果需要一步的话怎么办? 最简单的方式就是使用同步的方式来异步,将原来同步时一个acti ...

  3. idea打jar包

    昨天碰到个问题:使用idea打成jar包,但是在测试环境一直报错.参考: http://blog.csdn.net/aotian16/article/details/52198378 之后发现原来的j ...

  4. [acm 1001] c++ 大数加法 乘法 幂

    北大的ACM 1001 poj.org/problem?id=1001 代码纯手动编写 - - #include <iostream> #include <cstdio> #i ...

  5. PHP discuz模板语法

    Discuz! X 模板的解析主要是 ./source/class/class_template.php 文件解析处理的,如果需要深入了解请可以看看这个文件! 模板嵌套语法 将被嵌套模板内容解析为 P ...

  6. 【Leetcode】【Medium】Maximum Product Subarray

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  7. windows10下运行XX-net

    现在墙高了,原来配置的ip4没法用了,所以重新配置一下XX-NET,这篇博客的内容参考了末尾的网站,如果我的办法行不通可以去这个网站查看其他方法 下载XX-NET 打开https://github.c ...

  8. Vim快捷输出查找寄存器的内容(去除\<,\>和\V)

    Vim自带的*搜索会自动在单词两头加上\<和\>,使用第三方的vnoremap *,则是加上前缀\V, 当我们想要输出刚刚搜索的内容时可用<C-r>/,但是很可能会带上多余的符 ...

  9. Java日志系统

    前言 各组件之间的关系: slf4j是The Simple Logging Facade for Java的简称,是一个简单日志门面抽象框架,它本身只提供了日志Facade API和一个简单的日志类实 ...

  10. OC基础数据类型-NSNumber

    1.NSNumber:专门用来装基础类型的对象,把整型.单精度.双精度.字符型等基础类型存储为对象 //基本数据类型 //专门用来装基础类型的对象 NSNumber * intNumber = [[N ...