在linux環境下,mysql預設表明是區分大小寫的,我們可以檢視全域性變數發現:
mysql> show variables like 'lower%';lower_case_file_system 是乙個唯讀引數,無法被修改,這個引數是用來告訴你在當前的系統平台下,是否對檔名大小寫敏感。+------------------------+-------+
| variable_name | value |
+------------------------+-------+
| lower_case_file_system | off |
| lower_case_table_names | 0 |
+------------------------+-------+
2 rows in set (0.00 sec)
lower_case_table_names: 此引數不可以動態修改,必須重啟資料庫
lower_case_table_names=0 表名儲存為給定的大小和比較是區分大小寫的
lower_case_table_names = 1表名儲存在磁碟是小寫的,但是比較的時候是不區分大小寫
lower_case_table_names=2, 表名儲存為給定的大小寫但是比較的時候是小寫的
當在表明區分大小寫的清空下我們混用大小寫是會報錯的,如下:
mysql> show tables like解決辦法:'black%';
+-------------------------+
| tables_in_exam (black%) |+--
-----------------------+
| black_unit |
| blacklist |+--
-----------------------+
2 rows in
set (0.00
sec)
mysql
>
select
*from
blacklist;
error
1146 (42s02): table
'exam.blacklist
' doesn'
t exist
如果直接修改的話是會報錯的,全域性唯讀變數不可以修改。
mysql>最終解決辦法:1. 修改/etc/my.cnf, [mysqld]下面加一行:set global lower_case_table_names=1;
error
1238 (hy000): variable '
lower_case_table_names
'is a read
only variable
lower_case_table_names=如下:1
2.重啟mysql服務並且檢視全域性變數的值
mysql> show variables like3.再次驗證是否區分大小寫:'lower%';
+------------------------+-------+
| variable_name | value |+--
----------------------+-------+
| lower_case_file_system |
off|
| lower_case_table_names |1|
+------------------------+-------+
2 rows in
set (0.00 sec)
mysql>至此配置成功!select
*from
blacklist;
empty
set (0.00 sec)
linux環境下mysql預設是區分表名大小寫的
在linux環境下,mysql預設表明是區分大小寫的,我們可以檢視全域性變數發現 mysql show variables like lower variable name value lower case file system off lower case table names 0 2 row...
linux下 mysq l環境配置
mysql server community 5.1.62 1.rhel5 mysql devel community 5.1.62 1.rhel5 mysql shared compat 5.1.62 1.rhel5 mysql client community 5.1.62 1.rhel5 安裝...
Linux環境下安裝MySQL
檢查mysql以及相關rpm包是否有安裝。rpm qa grep i mysql yum y remove 包名 rpm e nodeps mysql 刪除包 rm rf var lib mysql rm rf usr share mysql 掃尾工作rpm安裝 mkdir usr local sr...