我有一个 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