Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mysqldump nur Tabellen mit bestimmten Präfixen / Mysqldump-Wildcards?

Sie können Tabellennamen nacheinander auf der Kommandozeile angeben, aber ohne Wildcards.mysqldump databasename table1 table2 table3

Sie können auch --ignore-table verwenden wenn das kürzer wäre.

Eine andere Idee ist, die Tabellen mit etwas wie

in eine Datei zu bekommen
mysql -N information_schema -e "select table_name from tables where table_schema = 'databasename' and table_name like 'bak_%'" > tables.txt 

Bearbeiten Sie die Datei und bringen Sie alle Datenbanken in eine Zeile. Führen Sie dann

aus
mysqldump dbname `cat tables.txt` > dump_file.sql

Um Tabellen in einer Zeile zu löschen (nicht empfohlen), können Sie Folgendes tun

mysql -NB  information_schema -e "select table_name from tables where table_name like 'bak_%'" | xargs -I"{}" mysql dbname -e "DROP TABLE {}"