Mysqldump

備份除一條記錄外的所有內容

  • December 4, 2013

我想備份我的數據庫,除了t1表的一條記錄(where option='siteurl')。

我正在嘗試 mysqldump 的--where命令。

mysqldump -u root --skip-extended-insert --where "option='siteurl'" konsertvdb t1 > sql.sql

如果我只備份t1表,這將起作用。但我想備份所有表,除了t1一條記錄 ( where option='siteurl') 。

> mysqldump -u root --skip-extended-insert --where "option='siteurl'" konsertvdb > sql.sql
mysqldump: Couldn't execute 'SELECT /*!40001 SQL_NO_CACHE */ * FROM `wp_commentmeta` WHERE option='siteurl'': Unknown column 'option' in 'where clause' (1054)

*(wp_commentmeta是我的其他表之一。)

你能告訴我這可能嗎?

如果你看過 mysqldump手冊,那就太簡單了

首先執行 mysql 轉儲忽略您要跳過的表

mysqldump -p -u root db_name --ignore-table=db_name.tbl_name > sql.sql

然後再一次為你的桌子

mysqldump -p -u root db_name tbl_name --where "id!=2" >> sql.sql

請注意,如果您在 –where 中提供某些內容,則它適用於您正在使用的所有表格。這在多租戶數據庫的情況下很有用。

引用自:https://dba.stackexchange.com/questions/54455