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

mysqldump med oprette databaselinje

Som standard mysqldump opretter altid CREATE DATABASE IF NOT EXISTS db_name; sætning i begyndelsen af ​​dumpfilen.

[EDIT ] Få ting om mysqldump fil og dens muligheder:

--all-databases , -A

Dump alle tabeller i alle databaser. Dette er det samme som at bruge --databases og navngive alle databaserne på kommandolinjen.

--add-drop-database

Tilføj en DROP DATABASE sætning før hver CREATE DATABASE udmelding. Denne mulighed bruges typisk i forbindelse med --all-databases eller --databases mulighed fordi ingen CREATE DATABASE udsagn skrives, medmindre en af ​​disse muligheder er angivet.

--databases , -B

Dump flere databaser. Normalt mysqldump behandler fornavnsargumentet på kommandolinjen som et databasenavn og følgende navne som tabelnavne. Med denne mulighed behandler den alle navneargumenter som databasenavne. CREATE DATABASE og USE sætninger er inkluderet i outputtet før hver ny database.

--no-create-db , -n

Denne mulighed undertrykker CREATE DATABASE sætninger, der ellers er inkluderet i outputtet, hvis --databases eller --all-databases mulighed er givet.

For nogen tid siden var der et lignende spørgsmål, der faktisk spurgte om ikke at have en sådan erklæring i begyndelsen af ​​filen (til XML-fil). Link til det spørgsmål er her .

Så for at besvare dit spørgsmål:

  • hvis du har én database at dumpe, skal du have --add-drop-database mulighed i din mysqldump erklæring.
  • hvis du har flere databaser at dumpe, skal du bruge muligheden--databases eller --all-databases og CREATE DATABASE syntaks tilføjes automatisk

Flere oplysninger på MySQL Reference Manual



  1. GRUPPER EFTER vs. BESTIL EFTER

  2. Hvordan får man den første dag i hver tilsvarende måned i mysql?

  3. Hvad er DTU i Azure SQL Database, og hvordan finder man ud af, hvor meget vi har brug for

  4. Udførelse af flere sætninger med Postgresql via SQLAlchemy fortsætter ikke ændringer