溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL查詢報(bào)錯(cuò):ERROR 1146 (42S02): Table 'craw.sitePageConfig' doesn't exist

發(fā)布時(shí)間:2020-08-11 14:48:13 來源:ITPUB博客 閱讀:208 作者:tolywang 欄目:MySQL數(shù)據(jù)庫
    今天一同事咨詢mysql的問題,在mysql主庫訪問某個(gè)表報(bào)錯(cuò), 但是備庫上可以,感覺有點(diǎn)奇怪。即使不同步,
也不能說主庫不能訪問啊。

    既然是主備,就從主備同步開始查。各種show master status\G, show binary logs , 在備庫上show slave status\G,
在備庫上看到: 
Salve_IO_Runing : NO
Salve_SQL_Runing : YES
顯然已經(jīng)不同步了,看到Relay_Master_Log_File是 mysql-bin.000064, 但是在主庫上show binary logs查看的是:67,68,69,
已沒有了 64,65,66 。

在備庫上也看到了Last_IO_Error的報(bào)錯(cuò)很明顯,1236嚴(yán)重錯(cuò)誤,Could not find first log file name in binary log index file.

    不同步確認(rèn)了,那么為啥主庫的表也不能訪問呢。權(quán)限確認(rèn)了,沒有問題。遇到的最多的應(yīng)該就是大小寫問題了,這個(gè)也是mysql
做的比較差的地方。 在主庫查詢?nèi)渴切懙谋?,沒有報(bào)錯(cuò),查詢大小寫混合的表,都報(bào)錯(cuò),提示一樣 : 

ERROR 1146 (42S02): Table 'craw.sitePageConfig' doesn't exist 

    查詢my.cnf下的lower_case_table_names參數(shù),發(fā)現(xiàn)果然,參數(shù)是1,默認(rèn)是0來的,查看my.cnf文件修改日期,是2天前,而備
庫上的my.cnf是半年前的。大致找到原因后,如何進(jìn)行解決呢 ? 改回來 ? 

    改回來(改為0)其實(shí)應(yīng)該是OK的。待驗(yàn)證。其實(shí)在Linux/Unix下會(huì)碰到這種錯(cuò)誤,在windows下不會(huì)。 為什么呢。因?yàn)镸ySQL中
數(shù)據(jù)庫相當(dāng)于數(shù)據(jù)目錄下的目錄,表相當(dāng)于目錄下的文件,而Linux/Unix系統(tǒng)是區(qū)分大小寫的(windows不區(qū)分),創(chuàng)建了大小寫混合
的庫或表后,我們?cè)谛薷膮?shù)lower_case_table_names=1 ,這時(shí)MySQL將所有SQL中的表名都翻譯為了小寫(為了大小寫不敏感),
但是Linux下沒有全部是小寫的這個(gè)文件或目錄(表或庫)。 就出現(xiàn)了找不到的情況。 

    如果你是windows平臺(tái)下開發(fā)的,完了之后放到Linux上,很可能會(huì)碰到這個(gè)錯(cuò)誤。必須去掉大小寫敏感。  
 
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI