最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL修改lower_case_table_names參數(shù)的方法實(shí)踐

 更新時(shí)間:2024年05月24日 09:13:41   作者:AlfredZhao  
本文主要介紹了MySQL修改lower_case_table_names參數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

環(huán)境:MySQL 5.7.25

起初創(chuàng)建環(huán)境時(shí)沒(méi)有要求表名稱不區(qū)分大小寫(xiě),后續(xù)應(yīng)用使用提出要設(shè)置lower_case_table_names=1的需求,期望表名不再區(qū)分大小寫(xiě)。
修改這個(gè)參數(shù)需要重啟實(shí)例,另外一定要注意該參數(shù)修改會(huì)導(dǎo)致之前大寫(xiě)存儲(chǔ)的表將無(wú)法識(shí)別,需要特殊處理。

1.默認(rèn)區(qū)分大小寫(xiě)的環(huán)境

默認(rèn)在lower_case_table_names=0的情況下,表名是嚴(yán)格區(qū)分大小寫(xiě)的,若查詢時(shí)大小寫(xiě)弄混淆就會(huì)直接報(bào)錯(cuò)表不存在,現(xiàn)象如下:

root@mysqldb 12:33:  [test]> show tables;
+----------------+
| Tables_in_test |
+----------------+
| T1             |
| t2             |
+----------------+
2 rows in set (0.00 sec)

root@mysqldb 12:33:  [test]> show variables like '%case%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_case_table_names | 0     |
+------------------------+-------+
2 rows in set (0.02 sec)

root@mysqldb 12:34:  [test]> select * from T1;
Empty set (0.00 sec)

root@mysqldb 12:34:  [test]> select * from t2;
Empty set (0.00 sec)

root@mysqldb 12:34:  [test]> select * from t1;
ERROR 1146 (42S02): Table 'test.t1' doesn't exist
root@mysqldb 12:34:  [test]> select * from T2;
ERROR 1146 (42S02): Table 'test.T2' doesn't exist
root@mysqldb 12:34:  [test]> 

2.修改參數(shù)lower_case_table_names

在my.cnf配置文件中[mysqld]標(biāo)簽的作用區(qū)域,增加`lower_case_table_names=1`的配置,然后重啟MySQL服務(wù):

service mysqld restart

3.驗(yàn)證表名區(qū)分大小寫(xiě)情況

重啟實(shí)例后,確認(rèn)參數(shù)已修改:

root@mysqldb 12:58:  [test]> show variables like 'lower_case_table_names';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_table_names | 1     |
+------------------------+-------+
1 row in set (0.00 sec)

發(fā)現(xiàn)原表t2,在參數(shù)修改后,通過(guò)t2和T2都可以訪問(wèn),滿足需求。
但是原表T1,在參數(shù)修改后,通過(guò)t1和T1都無(wú)法訪問(wèn),細(xì)看報(bào)錯(cuò)可以看到無(wú)論我們傳入T1還是t1,都是按照小寫(xiě)的t1來(lái)解析。

root@mysqldb 12:46:  [(none)]> use test
Database changed
root@mysqldb 12:46:  [test]> show tables;
+----------------+
| Tables_in_test |
+----------------+
| T1             |
| t2             |
+----------------+
2 rows in set (0.01 sec)

root@mysqldb 12:46:  [test]> select * from t1;
ERROR 1146 (42S02): Table 'test.t1' doesn't exist
root@mysqldb 12:47:  [test]> select * from T2;
Empty set (0.01 sec)

root@mysqldb 12:47:  [test]> select * from T1;
ERROR 1146 (42S02): Table 'test.t1' doesn't exist
root@mysqldb 12:47:  [test]> select * from t2;
Empty set (0.00 sec)

如果此時(shí)應(yīng)用再重新創(chuàng)建T1表,就會(huì)被存儲(chǔ)為小寫(xiě)的t1:

root@mysqldb 13:03:  [test]> create table T1(id int);
Query OK, 0 rows affected (0.08 sec)

root@mysqldb 13:03:  [test]> show tables;
+----------------+
| Tables_in_test |
+----------------+
| T1             |
| t1             |
| t2             |
+----------------+
3 rows in set (0.00 sec)

root@mysqldb 13:03:  [test]> select * from T1;
Empty set (0.00 sec)

root@mysqldb 13:03:  [test]> select * from t1;
Empty set (0.00 sec)

至于之前的T1,如果想要清理刪除,可改回lower_case_table_names=0后進(jìn)行刪除。

總結(jié):如果有不區(qū)分大小寫(xiě)這樣的需求,在建庫(kù)配置時(shí)就要及早提出,不然后期更改不但要停機(jī),還很可能需要特殊處理。
如果不幸遇到這樣的情況,操作之前先使用mysqldump進(jìn)行導(dǎo)出備份,然后刪除所有含有大寫(xiě)的表,成功修改參數(shù)后再進(jìn)行導(dǎo)入即可。

到此這篇關(guān)于MySQL修改lower_case_table_names參數(shù)的文章就介紹到這了,更多相關(guān)MySQL lower_case_table_names修改參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文帶你永久擺脫Mysql時(shí)區(qū)錯(cuò)誤問(wèn)題(idea數(shù)據(jù)庫(kù)可視化插件配置)

    一文帶你永久擺脫Mysql時(shí)區(qū)錯(cuò)誤問(wèn)題(idea數(shù)據(jù)庫(kù)可視化插件配置)

    在MySQL啟動(dòng)時(shí)會(huì)檢查當(dāng)前系統(tǒng)的時(shí)區(qū)并根據(jù)系統(tǒng)時(shí)區(qū)設(shè)置全局參數(shù)system_time_zone的值,下面這篇文章主要給大家介紹了關(guān)于如何永久擺脫Mysql時(shí)區(qū)錯(cuò)誤問(wèn)題(idea數(shù)據(jù)庫(kù)可視化插件配置)的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 關(guān)于MySql 10038錯(cuò)誤的完美解決方法(三種)

    關(guān)于MySql 10038錯(cuò)誤的完美解決方法(三種)

    本文給大家?guī)?lái)三種有關(guān)mysql報(bào)10038錯(cuò)誤的解決方法,每種方法都非常不錯(cuò),需要的朋友參考下
    2016-09-09
  • 詳解如何在阿里云服務(wù)器安裝Mysql數(shù)據(jù)庫(kù)

    詳解如何在阿里云服務(wù)器安裝Mysql數(shù)據(jù)庫(kù)

    這篇文章主要介紹了詳解如何在阿里云服務(wù)器安裝Mysql數(shù)據(jù)庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • MySQL中UNION 和 JOIN 多表聯(lián)合查詢方式

    MySQL中UNION 和 JOIN 多表聯(lián)合查詢方式

    本文介紹了在MySQL中UNION和JOIN兩種多表查詢的方式,包括它們的適用場(chǎng)景、語(yǔ)法和特性,JOIN用于關(guān)聯(lián)數(shù)據(jù),而UNION用于合并具有相同結(jié)構(gòu)但無(wú)直接關(guān)系的數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • centos7上mysql8.0rpm方式安裝教程圖解

    centos7上mysql8.0rpm方式安裝教程圖解

    這篇文章主要介紹了centos7上mysql8.0rpm方式安裝教程,本文圖文并茂給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-04-04
  • MySQL默認(rèn)字符集設(shè)置詳情

    MySQL默認(rèn)字符集設(shè)置詳情

    這篇文章主要介紹了MySQL默認(rèn)字符集設(shè)置詳情,在MySQL?8.0版本之前,默認(rèn)字符集為latin1?,utf8字符集指向的是utf8mb3,更多相關(guān)內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-09-09
  • Mysql復(fù)制表三種實(shí)現(xiàn)方法及grant解析

    Mysql復(fù)制表三種實(shí)現(xiàn)方法及grant解析

    這篇文章主要介紹了Mysql復(fù)制表三種實(shí)現(xiàn)方法及grant解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22)的解決方法

    MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errc

    File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22) Character set ‘#33′ is not a compiled character set and is not specified in the ‘c:\mysql\share\charsets\Index’ file
    2013-08-08
  • MySQL9.0更新了哪些特性

    MySQL9.0更新了哪些特性

    MySQL 9.0作為MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)的一個(gè)重要更新版本,帶來(lái)了多項(xiàng)新特性和改進(jìn),下面我們就一起來(lái)看看更新了哪些特性,感興趣的可以了解一下
    2024-08-08
  • MySQL中字段的實(shí)際長(zhǎng)度的實(shí)現(xiàn)示例代碼

    MySQL中字段的實(shí)際長(zhǎng)度的實(shí)現(xiàn)示例代碼

    MySQL字段的存儲(chǔ)長(zhǎng)度不僅取決于數(shù)據(jù)類型,還受字符編碼和存儲(chǔ)內(nèi)容的影響,CHAR和VARCHAR字段可以使用LENGTH()和CHAR_LENGTH()函數(shù)獲取長(zhǎng)度信息,下面就來(lái)具體介紹一下
    2024-09-09

最新評(píng)論

资源县| 昌平区| 孝感市| 深水埗区| 红原县| 东城区| 南召县| 额敏县| 巢湖市| 楚雄市| 疏勒县| 汨罗市| 缙云县| 太仓市| 永仁县| 凌海市| 新营市| 北碚区| 鹤庆县| 贡觉县| 湘乡市| 平远县| 滦平县| 自贡市| 高唐县| 巧家县| 天长市| 景谷| 定兴县| 信丰县| 邹平县| 台前县| 陆良县| 西吉县| 普兰县| 诸暨市| 万州区| 仲巴县| 儋州市| 两当县| 桂阳县|