pt-online-schema-change的操作原理簡單介紹
(1).先建立一個空的臨時表;
(2).按照原始表alter table後的結構進行定義;
(3).在原始表上加入觸發器,將原始表在隨後的資料複製過程中產生的資料更改(insert、update和delete)同步到臨時表中;
(4).將原始表的資料複製到臨時表中,在複製過程中的資料修改將被觸發器同步到臨時表中,這樣保證原始表在進行alter table操作時不被鎖表;
(5).同步資料結束後,進行改名操作,將臨時表名稱改為原始表名並刪除掉原始表;
(6).刪除掉觸發器.
pt-osc使用需要注意的一些坑:
1.表內如果有重複資料的情況下,新增唯一鍵會導致資料丟失;
2.在行格式下,只在從庫使用pt-osc,同樣也會丟資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2148866/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- javascript陣列操作簡單介紹JavaScript陣列
- javascript如何操作iframe簡單介紹JavaScript
- js事件委託原理簡單介紹JS事件
- node.js操作mongodb簡單介紹Node.jsMongoDB
- javascript讀寫cookie操作簡單介紹JavaScriptCookie
- jquery操作select下拉選單簡單介紹jQuery
- 關於PHP檔案操作的簡單介紹PHP
- javascript操作html元素屬性簡單介紹JavaScriptHTML
- javascript DOM元素節點操作簡單介紹JavaScript
- 學習筆記-React的簡單介紹&工作原理筆記React
- Webpack 的簡單介紹Web
- Promise的簡單介紹Promise
- CFRunloopObserverRef 的簡單介紹OOPServer
- 關於python操作excel,xlwt,xlwd,最簡單的操作介紹PythonExcel
- 簡單介紹numpy實現RNN原理實現RNN
- jquery實現的操作class樣式類簡單介紹jQuery
- SVG簡單介紹SVG
- HTML簡單介紹HTML
- ActiveMQ簡單介紹MQ
- HTML 簡單介紹HTML
- JavaScript 簡單介紹JavaScript
- CSS 簡單介紹CSS
- SCSS 簡單介紹CSS
- UICollectionView 簡單介紹UIView
- css簡單介紹CSS
- Ceph分散式儲存-原理介紹及簡單部署分散式
- SpringMvc的簡單介紹SpringMVC
- javascript的this用法簡單介紹JavaScript
- noscript的作用簡單介紹
- Redux的簡單概念介紹Redux
- ORACLE SEQUENCE的簡單介紹Oracle
- 簡單易懂的 Go 泛型使用和實現原理介紹Go泛型
- RPC簡單介紹RPC
- spark簡單介紹(一)Spark
- Flutter key簡單介紹Flutter
- Python簡單介紹Python
- <svg>元素簡單介紹SVG
- Git_簡單介紹Git