Es gibt keine spezielle Option zum Speichern von Ansichten.
Sie können Folgendes versuchen:
mysqldump -h... -u... -p... --all-databases --routines --triggers --no-data > /root/MySQLDBSchema.sql
grep "CREATE ALGORITHM" /root/MySQLDBSchema.sql
Sie sollten in der Lage sein, die Ansichten zu sehen. Dies zeigt an, dass beim Speichern von Datenbanken die Ansicht mitgeliefert wird.
Ein weiterer Stunt, den Sie ausprobieren können, um nur die Ansichten zu erhalten, ist folgender:
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
Versuche es !!!
--all-databases
die gewünschte Datenbank an.Die beste Antwort dafür ist wahrscheinlich , dieses durch olliiiver , die ich etwas geändert haben. Es exportiert speziell eine Drop-Table-Abfrage und eine Ansicht zum Erstellen oder Ersetzen von Ansichten für jede Ansicht im System, ohne mit Tabellen herumspielen zu müssen. Die Drop-Table-Abfrage ist häufig wichtig, da mysqldump anscheinend gerne Ansichten als Tabellen neu erstellt, es sei denn, Sie fügen jede Ansicht in einen eigenen Parameter --ignore-table ein, was ärgerlich wäre. Es verwendet INFORMATION_SCHEMA.
Wenn Sie so etwas in ein Shell-Skript umwandeln möchten, empfehle ich außerdem, den Parameter --defaults-extra-file = CREDSFILENAME zu verwenden, damit Sie im Skript nicht user / pass angeben müssen.
Die Anmeldeinformationsdatei sieht folgendermaßen aus:
quelle