我必須刪除prod中的一些表數據。數據庫和要刪除的記錄應備份的記錄應複製到另一個本地數據庫。這涉及兩個數據庫,分別位於兩個不同的服務器/實例中。將數據從1 DB複製到另一個數據庫
是否有可能通過sql(mysql)查詢來做到這一點?
我必須刪除prod中的一些表數據。數據庫和要刪除的記錄應備份的記錄應複製到另一個本地數據庫。這涉及兩個數據庫,分別位於兩個不同的服務器/實例中。將數據從1 DB複製到另一個數據庫
是否有可能通過sql(mysql)查詢來做到這一點?
我會用mysqldump用where條件得到記錄了。一旦你保存了所有的東西,你就可以從產品中刪除它們。這些命令應該從命令行工作,包括密碼以避免提示是可選的。
mysqldump -u user -pPassword -h hostname1 dbname tablename
--where 'field1="delete"'
--skip-add-drop-table --no-create-db --no-create-info > deleted.sql
mysql -u user -pPassword -h hostname2 dbname < deleted.sql
mysql -u user -pPassword -h hostname1 dbname -e 'DELETE FROM tablename WHERE field1="delete"'
我正在嘗試做同樣的事情,將數據從表中複製到另一臺服務器,然後從原始中刪除它。
到目前爲止,我看到兩個選項:
這都需要一些嚴重的重構我們的因爲未啓用Federated或二進制日誌記錄(複製所需的)服務器。這需要時間,如果能找到其他解決方案,這將是最好的。
該過程需要每天執行,因此需要完全自動化。
也許第三個選擇是使用cron作業自動化的事情:
@Sharpeye:我相信你可以通過mysql查詢。但你也可以通過phpmyadmin來完成,只是簡單的導出然後導入我害怕? – 2010-08-03 23:05:46
只是另一個數據庫,或另一個MySQL服務器(實例)? – Wrikken 2010-08-03 23:05:49
它位於兩個不同服務器中的兩個數據庫之間。 – Sharpeye500 2010-08-03 23:07:33