記錄工作的點點滴滴:
今天遇到case 1:
在測試機上,start slave 出現“假死”現象,資料庫能夠連接配接,
show processlist;顯示:隊列等待master
從錯誤日志裡面看到:
日志裡面顯示沒有了磁盤空間,哎,這個着實不能讓人接受。
清理了磁盤,set global SQL_SLAVE_SKIP_COUNTER=1;start slave;
(SQL_SLAVE_SKIP_COUNTER 複制線程起來之後,該變量的值變為無)
case 2:
今天有人問了我一個問題,在主從複制模式下,master采用innodb,slave 采用myisam(這個是可以實作的,因為在binlog裡面 是不傳遞engine=?這個參數的),當程式裡面啟用事物的時候,如果出現復原,那麼采用myisam 引擎的slave會不會造成和master資料的不一緻。
首先肯定的是,這個不會造成資料的不一緻。
其次:由于myisam不支援事務,對不支援事務的表執行start/commit 操作沒有任何效果,在執行commit前已經送出,且不會報錯。
最後,在binlog裡面如果發生rollback 語句的話,事務會執行反操作,清除庫裡面的資料,binlog裡面響應的dml語句會響應的被清除,也不會有rollback語句的記錄。所有master和slave上資料還是一緻的。
case 3:
從其他資料表或者查詢結果建立資料表
create table ... like 語句将建立一個和原表一模一樣的表,并且列的屬性頁會保持。 但是這個語句不能隻利用其中原表的某列進行進行表的建立
create table ... select 會根據select 語句的查詢結建構立新的資料表,預設情況下,不會複制原來列的屬性。但是可以根據原表的某列進行表的建立
本文轉自 位鵬飛 51CTO部落格,原文連結:http://blog.51cto.com/weipengfei/978741,如需轉載請自行聯系原作者