在我的数据库中,我有一些表和视图。如何从命令行导出数据库中的所有表(而不是视图)?
发布于 2009-04-02 09:49:31
您可以使用带有选项--ignore-table的mysqldump来单独排除视图。或者使用mysqldump并手动删除带有应用程序的视图。grep可能是一个选项:
grep -v "CREATE VIEW" db.dump > db-without-views.dump
发布于 2011-12-16 17:33:24
要忽略数据库中的单个视图进行转储,请执行以下操作:
mysqldump -uusrname -ppwd -h hostname --ignore-table=db.view_name db > db.sql
要忽略Db for Dump中的多个视图,请执行以下操作:
mysqldump -uusrname -ppwd -h hostname --ignore-table=db.view1 --ignore-table=db.view2 db > db.sql
注意:要忽略多个视图进行转储,请多次使用--ignore-table
选项。
发布于 2009-04-02 09:56:26
当前的实现mysqldump不会在没有视图的情况下创建转储--而且(我上次检查过的)视图实际上创建了两次--一次是作为表,然后删除该表并用视图替换。因此,您不能只过滤掉"CREATE VIEW“命令,除非该行为已被修改。
但是,mysqldump将把表列表作为数据库名称后面的参数。如下所示:
mysqldump -ujoe -pmysecret joesdb posts tags comments users
https://stackoverflow.com/questions/709000
复制相似问题