Mycat源碼修改MongoDB使用問題記錄合集

來源:互聯網
上載者:User

mycat作為資料庫中介軟體也有一定的問題,在使用過程中不免會遇到各種各樣的問題,基於此我們將有關的問題都做一個記錄以備作FAQ查看。以下問題是針對MongoDB修改使用而提出的,請對號入座。mycat官方問題列表:https://github.com/MyCATApache/Mycat-Server/issues
問題0:mycat 源碼修改後打的jar包替換後不起作用


此問題是因為:在/usr/local/mycat/lib下不能存在多個Mycat-server的發布版本,如果需要備份請放置於其它路徑下。


問題1:mycat 大批量查詢掛起,所有串連斷開後恢複
這種是大資料查詢,出現無響應掛起,用戶端終止也沒用。詳情有待DBA收集日誌。


問題2:網關寫入mycat(正常),mysql有時報錯
Fatal error encountered during command execution. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered attempting to read the resultset. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Reading from the stream has failed. ---> System.IO

.EndOfStreamException: 嘗試讀取超出流末尾的內容。


解決方案:建議將mysql寫逾時時間設長一點。


問題3:其它查詢都正常為何這個查詢語句就是查不出來結果


注意:我們不要在欄位裡麵包含關鍵字,有些欄位分割如AND、IN、OR等關鍵字可能導致條件解析時異常。

解決方案:排查WHERE後面的條件,欄位裡面最好不要夾雜關鍵字。


問題4:條件或——OR查詢是一個奇葩,偶爾有結果大多數時候是空結果集

加了OR 條件的查詢返回結果集為空白,or是一個集合條件,來看看MongoDB Shell的操作:

db.getCollection("goods").find({ "$or" : [ { "user" : "jhon"} , { "owner" :"jhon"}]})
我們習慣於 a=1 or a=20 這樣的SQL語句,必須解析條件or才能實現,不妨自己做做實驗。可以參考: http://blog.csdn.net/boonya/article/details/77530263

MongoDB用戶端測試:

db.getCollection('T_SUBTABLE_DATE_20170801').find({"$or":[{"F_TIME":{"$gte":"2017-08-01 06:00:00","$lte":"2017-08-01 08:00:00"}},{"F_SEX":"female"}]});



MongoDB源碼裡面支援的:

大多數情況:

偶爾出現:



因為不穩定,還是盡量避免使用OR查詢。
問題5:大資料查詢手動停止導致mycat服務癱瘓不可用【已解決】


大資料表或全表查詢 :查詢過程中手動停止會有問題(可以等待自動逾時), 手動停止後mycat服務雖然保持但是實際上已經不對外提供服務了 ,這就是為什麼服務存活而連不上的原因  , BUG處理方式請參考: mycat issue 1616。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.