我有什麼選擇使用InnoDB引擎(表已存在)導入MySQL表,而不會丟失對現有表的讀取訪問權限?一般來說,我指的是ALTER TABLE
真的很慢的情況,我反而希望轉儲表,修改轉儲,然後導入它。在不鎖定表的情況下導入MySQL InnoDB轉儲
如果我使用mysqldump
來創建轉儲,那麼當我重新插入它時會在插入之前刪除表,因此讀取訪問當然會丟失,直到導入完成。
我可以簡單地更改轉儲中的表名,導入該表,然後在完成時刪除舊錶並重命名新表?有沒有更好的辦法?提前致謝。
我有什麼選擇使用InnoDB引擎(表已存在)導入MySQL表,而不會丟失對現有表的讀取訪問權限?一般來說,我指的是ALTER TABLE
真的很慢的情況,我反而希望轉儲表,修改轉儲,然後導入它。在不鎖定表的情況下導入MySQL InnoDB轉儲
如果我使用mysqldump
來創建轉儲,那麼當我重新插入它時會在插入之前刪除表,因此讀取訪問當然會丟失,直到導入完成。
我可以簡單地更改轉儲中的表名,導入該表,然後在完成時刪除舊錶並重命名新表?有沒有更好的辦法?提前致謝。
如果您的表具有相同的結構,我不會看到任何問題。你只需要跳過「DROP TABLE」操作。幾乎所有的翻斗車都可以選擇不在轉儲中包含DROP TABLE/CREATE TABLE。我個人建議Sypex Dumper。
如果你想改變表結構無鎖表,我認爲最好的方法是使用 pt-online-schema-change - ALTER tables without locking them
使用MySQL企業備份這個http://www.mysql.com/products/enterprise/backup.html
謝謝,我會運行與Sypex翻斗車的基準。 10美元不會出錯! – melkamo 2012-04-13 12:59:37
@melkamo它有免費版本。對於大多數需求已足夠;) – 2012-04-13 20:51:16