如何转储 MySQL 数据库的视图模式?

如何转储 MySQL 数据库的视图模式?

我有一个 MySQL 数据库,我想转储其视图架构。我该怎么做?我尝试使用 --no-data 进行 mysqldump,但这只会转储表架构。

答案1

我认为您可能正在向 mysqldump 传递其他选项,或者使用不理解视图的 mysqldump 版本(可能太旧了)。当我运行 mysqldump --no-data 时,它会转储出视图定义。请参见以下内容:

/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `t` AS select 1 AS `1` */;

答案2

使用- 选择选择倾倒

mysqldump -hserver -uUser -ppasswd -no-data --opt export > export.sql

答案3

Mysqldump 没有任何选项可以仅在视图上转储。以下命令将帮助您仅备份视图。

mysql -uroot -pPassword INFORMATION_SCHEMA --skip-column-names -e “从表中选择表名,其中表类型='VIEW'和表模式='sakila'”| xargs mysqldump -u root -pPassword sakila > only_views.sql

答案4

其他答案没有,但这对我有用......

mysqldump --skip-comments --skip-opt --complete-insert --add-drop-table --database dbname -p

相关内容