Назад | Перейти на главную страницу

Как создать дамп схем представления для базы данных MySQL?

У меня есть база данных MySQL, для которой я хочу сбросить схемы для представлений. Как мне это сделать? Я пробовал mysqldump с --no-data, но он выводит только схемы таблиц.

Я думаю, вы могли бы либо передать некоторые другие параметры mysqldump, либо использовать версию mysqldump, которая не понимает представления (возможно, она слишком старая). Когда я запускаю mysqldump --no-data, он сбрасывает определения представления. См. Ниже:

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

Использовать --opt вариант при создании свалка:

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

Mysqldump не будет иметь никаких параметров для дампа только представлений. Команда ниже поможет вам сделать резервную копию только представлений.

mysql -uroot -pPassword INFORMATION_SCHEMA --skip-column-names -e "выбрать имя_таблицы из таблиц, где table_type = 'VIEW' и table_schema = 'sakila'" | xargs mysqldump -u root -pPassword sakila> only_views.sql

Другие ответы не помогли, но это сработало для меня ...

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