我們正在使用Percona 5.7.16-10服務器。我想用XtraDB集羣擴展當前的解決方案。與此同時,我創建了其他機器並啓動了集羣(運行於5.7.17-11-57 Percona XtraDB集羣版本),並在那裏進行了一些測試(一切似乎都正常)。現在我想從正在運行的服務器中轉儲當前數據庫並將其插入到羣集中。停止羣集沒有問題(因爲它用於測試)。但是,當我按照慣例創建mysqldump時,由於pcx_strict_mode(信息here) - 強制執行Percona-XtraDB-Cluster prohibits use of LOCK TABLE/FLUSH TABLE <table> WITH READ LOCK with pxc_strict_mode = ENFORCING
,因此我無法將其插入羣集,因爲mysqldump會創建包含禁止表鎖的腳本。所以我測試了幾個更多的選項,比如MASTER,它不應該檢查這個規則,但是它沒有幫助,因爲來自轉儲的插入查詢被卡住了而且什麼也沒有發生。將數據庫恢復到新羣集
是否有任何mysqldump選項可以避免表鎖定查詢,還是必須通過XtraBackup以某種方式將其還原,並將XtraBackup用於當前運行的服務器?
我讀過幾個主題here,但沒有與任何具有相同問題的人匹配。每個人都在解決如何從一些失敗恢復羣集,而不是從頭開始。
對於任何有關mysqldump的建議或將舊數據庫「插入」羣集的正確方法,我都會很高興。
謝謝!不知道我最後一次嘗試過程中發生了什麼,但按照你的設想,將strict_mode設置爲DISABLED,爲第二次嘗試工作(我之前一定犯過一些錯誤)。對於一些未來的讀者,我做了常規轉儲--single-transaction on,然後用DISABLED模式重新啓動羣集並恢復數據庫(僅僅因爲我正在抽取一些實時數據進行測試)。 只要它可用,我會給你賞金,謝謝! – Radim