sql >> Database teknologi >  >> RDS >> Mysql

Spring tabeller over i mysqldump baseret på et mønster

Desværre mysqldump kræver, at tabelnavne er fuldt kvalificerede, så du kan ikke angive en parameter som et regex-mønster.

Du kan dog bruge et script til at generere din mysqldump ved at få det til at forbinde til informationsskemaet og liste alle tabellerne ved at bruge noget som:

SELECT TABLE_NAME, TABLE_SCHEMA
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA NOT IN ('INFORMATION_SCHEMA', 'mysql', 'PERFORMANCE_SCHEMA');

Og så få det til at generere --ignore-table parametre for alle tabelnavne, der matcher regex af ^test .

For kun at dumpe skemaet og ingen data kan du bruge --no-data=true som en parameter.

Hvis du vil have alt for alle ikke-testtabellerne, men kun skemaet for en anden tabel, skal du bruge to separate mysqldump-kommandoer (en for ignore-tabellen for alle testtabeller plus skemaet kun én og en anden for kun skemaet for tabellen kun skema) med det andet tilføjet til outputfilen ved at bruge >> tilføj operatør .

Så dit resulterende script kan generere noget som:

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



  1. Hent data for flere enkeltstående eller reference uden lignende operatør

  2. Hvad er den korrekte og sikre/sikre måde at holde en bruger logget på? cookies? session? PHP &&MYSQL

  3. Konverter mysqli-paginering til forberedt erklæringspaginering

  4. Sådan forbinder du fra Windows-kommandoprompten til mysql-kommandolinjen