Для вывода дампов нет особой опции.
Вы можете попробовать следующее:
mysqldump -h... -u... -p... --all-databases --routines --triggers --no-data > /root/MySQLDBSchema.sql
grep "CREATE ALGORITHM" /root/MySQLDBSchema.sql
Вы должны быть в состоянии увидеть мнения. Это указывает на то, что при сбрасывании базы данных представление приходит вместе с ним.
Еще один трюк, который вы можете попробовать, просто чтобы получить только мнения, это:
mysql -uroot -prootpass AN -e"select concat('SHOW CREATE VIEW ',table_schema,'.',table_name,';') from information_schema.views" | sed 's/;/\\G/g' | mysql --uroot -prootpass > /root/MySQLDBViews.sql
Попробуйте!
--all-databases
укажите нужную базу данных.Лучший ответ на это, вероятно , это один по olliiiver , который я слегка модифицировали. Он специально экспортирует запрос удаленной таблицы и запрос создания или замены представления для каждого представления в системе, без необходимости возиться с какими-либо таблицами. Запрос удаленной таблицы часто важен, поскольку mysqldump, по-видимому, любит воссоздавать представления в виде таблиц, если вы не включаете каждое представление в его собственный параметр --ignore-table, что может раздражать. Он использует INFORMATION_SCHEMA.
Если вы хотите превратить что-то подобное в сценарий оболочки, я также рекомендую использовать параметр --defaults-extra-file = CREDSFILENAME, чтобы вам не приходилось указывать user / pass в сценарии.
Файл учетных данных выглядит следующим образом:
источник