国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

細(xì)說MySQL區(qū)分字母大小寫

Original 2016-11-02 14:03:05 844
abstract:在Linux系統(tǒng)上使用MySQL,MySQL是區(qū)分字母大小寫的,例如建A表時(shí)表名是大寫的A,修改A表時(shí)腳本里寫的a,就會(huì)報(bào)錯(cuò)表a不存在。在MySQL中,數(shù)據(jù)庫對(duì)應(yīng)數(shù)據(jù)目錄中的目錄,數(shù)據(jù)庫中的每個(gè)表至少對(duì)應(yīng)數(shù)據(jù)庫目錄中的一個(gè)文件或多個(gè)文件,所以,是否區(qū)分大小寫是其所在的操作系統(tǒng)決定的。在大多數(shù)基于Unix的系統(tǒng)中,MySQL是區(qū)分大小寫的;而在Windows系統(tǒng)中,MySQL是不區(qū)分大小寫的。操作系

在Linux系統(tǒng)上使用MySQL,MySQL是區(qū)分字母大小寫的,例如建A表時(shí)表名是大寫的A,修改A表時(shí)腳本里寫的a,就會(huì)報(bào)錯(cuò)表a不存在。在MySQL中,數(shù)據(jù)庫對(duì)應(yīng)數(shù)據(jù)目錄中的目錄,數(shù)據(jù)庫中的每個(gè)表至少對(duì)應(yīng)數(shù)據(jù)庫目錄中的一個(gè)文件或多個(gè)文件,所以,是否區(qū)分大小寫是其所在的操作系統(tǒng)決定的。在大多數(shù)基于Unix的系統(tǒng)中,MySQL是區(qū)分大小寫的;而在Windows系統(tǒng)中,MySQL是不區(qū)分大小寫的。


操作系統(tǒng)中提供了lower_case_table_names參數(shù)用于修改這種區(qū)分大小寫的策略。默認(rèn)情況下,Linux系統(tǒng)下lower_case_table_names=0,Windows系統(tǒng)下lower_case_table_names=1,而MacOS下lower_case_table_names=2。0表示使用指定的大小寫字母在硬盤上保存表名和數(shù)據(jù)庫名,并且區(qū)分字母大小寫;1表示表名在硬盤上以小寫保存,MySQL將所有表名轉(zhuǎn)換為小寫在存儲(chǔ)和查找表上,不區(qū)分字母大小寫;2表示表名和數(shù)據(jù)庫名在硬盤上使用指定的大小寫字母進(jìn)行保存,但MySQL將它們轉(zhuǎn)換為小寫在查找表上,不區(qū)分字母大小寫。


如果想在Linux系統(tǒng)中修改lower_case_table_names的值,讓其不區(qū)分字母大小寫,Google出來的操作步驟大部分都是下面這種:

1.以root登錄系統(tǒng)

2.cd  /etc/mysql/

3.sudo vim my.cnf

4.在[mysqld]后添加添加lower_case_table_names=1

5.重新啟動(dòng)數(shù)據(jù)庫


然而,有些時(shí)候會(huì)出現(xiàn)一些特殊情況,例如,打開my.cnf發(fā)現(xiàn)里面并沒有[mysqld],而是如下的內(nèi)容:

!includedir /etc/mysql/conf.d/ 

!includedir /etc/mysql/mysql.conf.d/

這時(shí)候,如果直接在里面添加lower_case_table_names=1,則會(huì)導(dǎo)致無法和MySQL建立連接的錯(cuò)誤產(chǎn)生。正確做法如下:

1.以root登錄系統(tǒng)

2.cd  /etc/mysql/

3.sudo vim my.cnf

如果發(fā)現(xiàn)my.cnf中沒有“[mysqld]”,只有如下內(nèi)容:

!includedir /etc/mysql/conf.d/ 

!includedir /etc/mysql/mysql.conf.d/

則,cd /etc/mysql/mysql.conf.d/

       sudo vim mysqld.cnf

4.在[mysqld]后添加添加lower_case_table_names=1

5.重新啟動(dòng)數(shù)據(jù)庫


Release Notes

Popular Entries