Mysql大小寫敏感問題

2021-09-14 01:38:04 字數 1331 閱讀 7211

開發十年,就只剩下這套架構體系了! >>>

前幾天專案發布到centos上去,訪問登入介面沒問題,一點登入就有問題,有點懷疑是資料庫連線異常了。今天找到了問題的所在。

先描述下找問題的流程:

在終端輸入tail -f catalina.ou命令能實時看到tomcat的輸出,

我這問題就很明顯了,就是找不到對應的表,為什麼呢?在圖形化介面訪問,表名的大小寫是不敏感的,在命令列就出問題了,一試果然。以前沒有在命令列上使用還沒發現,現在就出問題了=。=

上解決方案

vi /etc/my.cnf //修改my.cnf

i //進入插入模式

在[mysqld]下面新增low_case_table_names=1 //大小寫不敏感

按esc //進入命令列模式

:wq //退出並儲存

service mysqld restart //重啟mysql服務

下面是我的[mysqld]配置部分

度娘完整版:

1、linux下mysql安裝完後是預設:區分表名的大小寫,不區分列名的大小寫;

2、用root帳號登入後,在/etc/my.cnf 中的[mysqld]後新增新增lower_case_table_names=1,重啟mysql服務,這時已設定成功:不區分表名的大小寫;

lower_case_table_names引數詳解:

lower_case_table_names = 0

其中 0:區分大小寫,1:不區分大小寫

mysql在linux下資料庫名、表名、列名、別名大小寫規則是這樣的:

1、資料庫名與表名是嚴格區分大小寫的;

2、表的別名是嚴格區分大小寫的;

3、列名與列的別名在所有的情況下均是忽略大小寫的;

4、變數名也是嚴格區分大小寫的;

mysql在windows下都不區分大小寫。

3、如果想在查詢時區分字段值的大小寫,則:字段值需要設定binary屬性,設定的方法有多種:

a、建立時設定:

create table t(

a varchar(10) binary

b、使用alter修改:

alter table `tablename` modify column `cloname`varchar(45) binary;

c、mysql table editor中直接勾選binary項。

MySQL大小寫敏感

mysql大小寫敏感的解決方案 注 關於lower case table names引數對錶名稱或資料庫名稱大小寫敏感的控制。unix下預設為0,也就是大小寫敏感的 windows下預設為1,不敏感 macos預設為2,儲存區分大小寫,但是在查詢時會轉換為小寫。對於在大小寫不敏感的系統 window...

Mysql大小寫敏感的問題

一 1 create table name name varchar 10 對這個表,預設情況下,下面兩個查詢的結果是一樣的 select from table name where name clip select from table name where name clip mysql預設查詢...

MySQL的大小寫敏感問題

1 在window安裝環境下,mysql預設是不區分大小寫,可見其lower case table names 1 2 在linux 安裝環境下,mysql預設是區分大小寫,可見其lower case table names 0 lower case table names引數值 0 1 其中 0 ...