如何通过ssh命令从MySQL转储中仅恢复某一列?
要还原整个数据库,它是这样的:
mysql -u [user] -p[pass] db < db_dump.sql
但是我只需要恢复其中一个表中的特定列。
任何建议都非常感谢。
转储文件包含还原整行而不是单个列的 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;
当然,我对要复制的表和列的名称以及主键列进行了假设。但它应该作为一个通用示例来帮助您入门。