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.
mysql --skip-column-names --batch \
-e "SELECT CONCAT('DROP TABLE IF EXISTS ', TABLE_SCHEMA, '.', TABLE_NAME, \
'; CREATE OR REPLACE VIEW ', TABLE_SCHEMA, '.', TABLE_NAME, ' AS ', \
VIEW_DEFINITION, '; ') AS q FROM INFORMATION_SCHEMA.VIEWS"
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:
[client]
username=YourUsernameHere
password=YourPasswordHere