1. 程式人生 > >Mysql大小寫敏感問題

Mysql大小寫敏感問題

前幾天專案釋出到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( ); B、使用alter修改: ALTER TABLE `tablename` MODIFY COLUMN `cloname`VARCHAR(45) BINARY; C、mysql table editor中直接勾選BINARY項。