開發十年,就只剩下這套架構體系了! >>>
前幾天專案發布到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 ...