Linux系統下MySql表名大小寫敏感問題

2022-03-19 08:34:59 字數 1191 閱讀 4849

mysql是通過lower_case_table_names變數來處理大小寫問題的。 

首先查詢該變數

mysql在linux下資料庫名、表名、列名、表別名大小寫規則如下:

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

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

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

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

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

linux下設定mysql大小寫不敏感:

1、連線資料庫

例如:mysql -uroot  -p123

root@test:/home# mysql -uroot -proot   2.檢視當前mysql字符集[在mysql命令列模式下執行]:

show variables like 'character%';

3.查詢大小寫敏感

show variables like '%table_names'
查詢結果: 顯示0 是開啟大小敏感的  

lower_case_table_names=0(預設)區分大小寫,lower_case_table_names=1表示不區分大小寫

3.更改解決

修改/etc/my.cnf,在[mysqld]後邊新增lower_case_table_names=1 重啟mysql服務,這時已設定成功

完了記得重新啟動mysql服務

一、啟動方式

1、使用 service 啟動:service mysqld start

2、使用 mysqld 指令碼啟動:/etc/inint.d/mysqld start

3、使用 safe_mysqld 啟動:safe_mysqld&

二、停止

1、使用 service 啟動:service mysqld stop

2、使用 mysqld 指令碼啟動:/etc/inint.d/mysqld stop

3、mysqladmin shutdown

三、重啟

1、使用 service 啟動:service mysqld restart

2、使用 mysqld 指令碼啟動:/etc/inint.d/mysqld restart

設定Linux下Mysql表名不區分大小寫

1 linux下mysql安裝完後是預設 區分表名的大小寫,不區分列名的大小寫 2 用root帳號登入後,在 etc my.cnf中的 mysqld 後新增新增lower case table names 1,重啟mysql服務,這時已設定成功 不區分表名的大小寫 lower case table ...

設定Linux下Mysql表名不區分大小寫

設定linux環境下不區分大小 用root帳號登入後,在 etc my.cnf中的 mysqld 位置不要搞錯了 後新增新增lower case table names 1,重啟mysql服務。lower case table names引數詳解 lower case table names 0 其...

linux環境下mysql預設是區分表名大小寫的

在linux環境下,mysql預設表明是區分大小寫的,我們可以檢視全域性變數發現 mysql show variables like lower variable name value lower case file system off lower case table names 0 2 row...