3 回答

TA貢獻1811條經驗 獲得超4個贊
您可以嘗試使用sed以僅提取所需的表。
假設您的表名是mytable,文件mysql.dump是包含您的巨大轉儲的文件:
$ sed -n -e '/CREATE TABLE.*`mytable`/,/CREATE TABLE/p' mysql.dump > mytable.dump
這將在文件中復制mytable.dump位于CREATE TABLE mytable下CREATE TABLE一個表和下一個表之間的文件。
然后,您可以調整mytable.dump包含表結構的文件mytable和數(shù)據(列表INSERT)。

TA貢獻1790條經驗 獲得超9個贊
我使用了uloBasEI的sed命令的修改版本。它包括前面的DROP命令,并讀取直到mysql完成將數(shù)據轉儲到您的表(UNLOCK)。為我工作(重新)將wp_users導入到一堆Wordpress站點。
sed -n -e '/DROP TABLE.*`mytable`/,/UNLOCK TABLES/p' mydump.sql > tabledump.sql

TA貢獻1853條經驗 獲得超9個贊
這可以更輕松地完成嗎?這就是我做的方式:
創(chuàng)建臨時數(shù)據庫(例如恢復):
mysqladmin -u root -p create restore
恢復臨時數(shù)據庫中的完整轉儲:
mysql -u root -p restore <fulldump.sql
轉儲要恢復的表:
mysqldump恢復mytable> mytable.sql
在另一個數(shù)據庫中導入表:
mysql -u root -p database <mytable.sql
添加回答
舉報