如何通过shell命令从MySQL转储中恢复单个特定列?

时间:2017-12-31 18:10:38

标签: mysql ssh

如何通过ssh命令从MySQL转储中仅恢复某一列?

要恢复整个数据库,它会像这样:

mysql -u [user] -p[pass] db < db_dump.sql 

但我只需要恢复其中一个表中的特定列。

任何建议都非常感谢。

1 个答案:

答案 0 :(得分:1)

转储文件包含可恢复整行的INSERT语句,而不是单个列。因此,您无法只恢复一列。

您可以做的是将其恢复到第二个数据库

mysqladmin -u [user] -p[pass] create db2 
mysql -u [user] -p[pass] db2 < db_dump.sql 

然后,您可以进入SQL环境并将一列复制到相应行的主数据库中。

mysql> UPDATE db.mytable JOIN db2.mytable USING (id)
       SET db.one_column = db2.one_column;

我当然会对要复制的表和列的名称以及主键列做出假设。但它应该是一个让你开始的通用例子。