Mysql大小寫敏感設定(Docker版)

2021-10-04 02:34:25 字數 2046 閱讀 5306

應用場景:

本人由於專案前期使用windows版國產資料庫開發,預設就是大小寫不敏感的,加上**規範約束不夠,導致**中sql大小寫不統一。後期有需求要更換資料庫,改用mysql,因為在linux系統中mysql預設是大小寫敏感的,所以需要對mysql進行大小寫敏感配置。

1.進入mysql docker容器bash

docker exec -it mysql bash
2.登入mysql

mysql -uroot -p123456
3.檢視"lower_case_table_names"變數值

show global variables like '%lower_case%'

;

mysql> show global variables like '%lower_case%';+

----

----

----

----

----

----+--

-----+

| variable_name | value |+--

----

----

----

----

------+

-------

+| lower_case_file_system | off |

| lower_case_table_names |0|

+------

----

----

----

------+

-------

+2 rows in set (

0.02 sec)

4.編輯相關配置檔案

vim /etc/mysql/mysql.conf.d/mysqld.cnf
容器中如果沒有vim編輯器可自行安裝(參考)

追加配置:

lower_case_table_names=1
「0」:大小寫敏感

「1」:大小寫不敏感

"exit;"退出容器後重啟mysql docker容器:

docker restart mysql
5.測試

進入mysql再次查詢lower_case_table_names變數值為1就表示設定成功:

mysql> show global variables like '%lower_case%';+

----

----

----

----

----

----+--

-----+

| variable_name | value |+--

----

----

----

----

------+

-------

+| lower_case_file_system | off |

| lower_case_table_names |1|

+------

----

----

----

------+

-------

+2 rows in set (

0.01 sec)

注意:設定完後實際使用時一定要先將當前的資料庫名和表名轉換為小寫,不然會報找不到表的錯誤。所謂的大小寫不敏感,實際上是先把sql統一轉換成了小寫來查詢。

MYSQL如何設定大小寫敏感

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

MYSQL如何設定大小寫敏感

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

MySQL的大小寫敏感設定

在 mysql 中,資料庫和表對就於那些目錄下的目錄和檔案。因而,作業系統的敏感性決定資料庫和表命名的大小寫敏感。這就意味著資料庫和表名在 windows 中是大小寫不敏感的,而在大多數型別的 unix 系統中是大小寫敏感的。奇怪的是列名與列的別名在所有的情況下均是忽略大小寫的,而表的別名又是區分大...