如何通过ssh命令从MySQL转储中仅恢复某一列?
要恢复整个数据库,它会像这样:
mysql -u [user] -p[pass] db < db_dump.sql
但我只需要恢复其中一个表中的特定列。
任何建议都非常感谢。
答案 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;
我当然会对要复制的表和列的名称以及主键列做出假设。但它应该是一个让你开始的通用例子。