使用mysqldump導出大表的注意事項
更新時間 2023-07-04 19:38:07
最近更新時間: 2023-07-04 19:38:07
分享文章
本文介紹使用mysqldump導出大表的注意事項。
使用mysqldump導出大表的注意事項
在使用mysqldump導出數據的場景下,如果加上參數 -q ,則不會把SELECT出來的結果放在buffer中,而是直接dump到標準輸出中,頂多只是buffer當前行結果,正常情況下是不會超過 max_allowed_packet 限制的,它默認情況下是開啟的。如果關閉該參數,則會把SELECT出來的結果放在本地buffer中,然后再輸出給客戶端,會消耗更多內存。
對于小規模數據集,禁用-q參數可以加快導出速度。但對于大數據集,如果沒辦法完全儲存在內存緩存中時,就會產生swap。這不僅會消耗主機的內存,也可能會造成數據庫主機因無可用內存繼而宕機的嚴重后果。因此,當使用mysqldump來備份大數據集時,建議添加-q參數。