MySQL的記憶體表在主從同步的注意事項

來源:互聯網
上載者:User

       有一些應用程式需要存放一些臨時資料,這時候暫存資料表似乎是一個很好的選擇,但是記憶體表在主從資料庫上表現卻不那麼好。

       原因很簡單,無論是基於STATEMENT還是基於ROW複製,都要在二進位日誌中包含改變的資料。這就要求在主從機上資料必須一致。當重啟從庫的時候,你就會丟失記憶體表的資料,複製中斷。

      我們該怎麼辦呢?

1.使用Innodb表代替

innodb表非常快,能滿足我們對效能的需求。

2.在複製中忽略記憶體表

如果不是非常有必要的話,忽略複製記憶體表,使用這個選項replicate-ignore-table=db.memory_table。我們需要注意的是:STATEMENT複製,不要使用insert ... select 添加資料到記憶體表。如果要使用insert ... select,從機上的表將會是空的,甚至某些時候,記憶體表根本不會複製到從機上。還有一種解決辦法是在主從機上都部署上相同的計劃任務,來重新整理這個表。

3.謹謹慎啟從機

從長遠角度考慮我不會使用記憶體表,作為解決方案。

翻譯自:

http://www.mysqlperformanceblog.com/2010/10/15/replication-of-memory-heap-tables/

此外還有關於如果真在工作中使用了記憶體表,並且重啟了從機上的MySQL,還想和主機上的MySQL保持資料同步的話,這裡有一個解決方案。

http://forge.mysql.com/tools/tool.php?id=163

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.