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

dgtucam1  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(364)

如何通过ssh命令从mysql转储中只恢复一列?
要恢复整个数据库,请执行以下操作:

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

但我只需要恢复其中一个表中的特定列。
非常感谢您的建议。

gkn4icbw

gkn4icbw1#

转储文件包含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;

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

相关问题