残念ながら、 mysqldump パラメータを正規表現パターンとして指定できないように、テーブル名は完全に修飾されている必要があります。
ただし、スクリプトを使用してmysqldumpを生成するには、それをinformation_schemaに接続し、次のようなものを使用してすべてのテーブルを一覧表示します。
SELECT TABLE_NAME, TABLE_SCHEMA
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA NOT IN ('INFORMATION_SCHEMA', 'mysql', 'PERFORMANCE_SCHEMA');
次に、--ignore-table
^test
の正規表現に一致するすべてのテーブル名のパラメーター 。
スキーマのみをダンプし、データをダンプしない場合は、を使用できます。 --no-data=true
パラメータとして。
すべての非テストテーブルのすべてを取得したいが、別のテーブルのスキーマのみを取得したい場合は、2つの別々のmysqldumpコマンドを使用する必要があります(1つはすべてのテストテーブルのignore-tableに加え、スキーマは1つだけ、もう1つはのみスキーマのみのテーブルのスキーマ)>>
を使用して2番目のテーブルを出力ファイルに追加します 追加
オペレーター 。
したがって、結果のスクリプトは次のようなものを生成する可能性があります:
mysqldump -u root -ptoor databaseName --ignore-table=testTable1 --ignore-table=testTable2 --ignore-table=testTable3 --ignore-table=schemaOnlyTable > mysqldump.sql
mysqldump -u root -ptoor databaseName schemaOnlyTable --no-data=true >> mysqldump.sql