Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 18434|Svar: 2

[Kilde] MySQL bruger mysqldump til at eksportere data med betingelser

[Kopier link]
Opslået på 26/04/2019 16.07.23 | | | |

MySQL databasebackup og eksport
https://www.itsvse.com/thread-4004-1-1.html
(Kilde: Architect_Programmer)
MySQLDUMP Imports og Export databaseoversigter
https://www.itsvse.com/thread-4353-1-1.html
(Kilde: Architect_Programmer)
MySQLTuP Exports Database "Access Denied"
https://www.itsvse.com/thread-4005-1-1.html
(Kilde: Architect_Programmer)

Som vist i linket ovenfor, eksporteres hele indholdet af databasen, kan det eksporteres med betingelser? Selvfølgelig kan du det!


Kommando:

Parameteranalyse:

  • -h: Angiv databaseadressen
  • --port: Angiv databaseporten, hvis det er standardporten 3306, kan den udelades
  • -u: kontonummer
  • -P: adgangskode
  • db_name: Dette henviser til, hvilken database der skal eksporteres
  • tab_name: Dette henviser til, hvilken tabel der skal eksporteres
  • --hvor: Datafilterkriterier
  • --no-create-info: eksporterer kun data uden at tilføje en CREATE TABLE-sætning.


Til sidst følger du stien til det sted, hvor du skal eksportere lageret.

Illustrere:

-t: Kun guidedata

--hvor: betingelse

--triggers=falsk: Styr ikke triggere

--erstatte: Erstat INSERT INTO med REPLACE INTO



Parametre:

--alle-databaser , -A

Eksporter alle databaser.

mysqldump -uroot -p --all-databases

--alle-bordrum , -Y

Eksporter alle tabellområder.

mysqldump -uroot -p --alle-databaser --alle-tablespaces

--ingen-tabelrum , -y

Der eksporteres ingen tabelpladsinformation.

mysqldump -uroot -p --all-databases --no-tablespaces

--add-drop-database

Tilføj en dropdatabase-sætning, før hver database oprettes.

mysqldump -uroot -p --all-databases --add-drop-database

--add-drop-table

Tilføj en drop table-sætning, før hver datatabel oprettes. (Standard er åben, brug --skip-add-drop-table for at annullere)

mysqldump -uroot -p --all-databases (add drop-sætningen som standard)

mysqldump -uroot -p --all-databases –skip-add-drop-table (undrop-sætning)

--add-locks

Tilføj LÅS TABELLER før hver tabeleksport og LÅS TABELLEN op bagefter. (standard er slået til, brug --skip-add-locks to cancel-muligheden)

mysqldump -uroot -p --all-databases (LOCK-sætningen tilføjes som standard)

mysqldump -uroot -p --all-databases –skip-add-locks (unlock-sætning)

--tillad-nøgleord

Muliggør oprettelse af kolonnenavne, der er nøgleord. Dette gøres ved at præfiksere tabelnavnet til hver kolonnenavn.

mysqldump -uroot -p --all-databases --allow-keywords

--apply-slave-statements

Tilføj 'STOP SLAVE' før 'CHANGE MASTER' og 'START SLAVE' i slutningen af eksporten.

mysqldump -uroot -p --all-databases --apply-slave-statements

--tegnsæt-dir.

Mappe over tegnsætsfiler

mysqldump -uroot -p --all-databases --character-sets-dir=/usr/local/mysql/share/mysql/charsets

--kommentarer

Yderligere noteinformation. Den er slået til som standard og kan annulleres med --skip-comments.

mysqldump -uroot -p --all-databases (standardpostkommentarer)

mysqldump -uroot -p --all-databases --skip-comments (uncomment)

--kompatibel

De eksporterede data vil være kompatible med andre databaser eller ældre versioner af MySQL. Værdierne kan være ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options osv.

For at bruge flere værdier, spred dem fra hinanden med kommaer. Det er ikke garanteret at være fuldt kompatibelt, men så meget som muligt.

mysqldump -uroot -p --all-databases --compatible=ansi

--kompakt

Eksporter mindre outputinformation (til fejlfinding). Fjern strukturer som noter og plat og krone. Muligheden er tilgængelig: --skip-add-drop-table --skip-add-locks --spring-commenter --skip-disable-keys --skip-disable-keys

mysqldump -uroot -p --all-databases --compact

--complete-insert, -c

Brug hele indsættelsessætningen (inklusive kolonnenavnet). Dette kan forbedre indsættelseseffektiviteten, men det kan påvirkes af max_allowed_packet parametre og forårsage indsættelsesfejl.

mysqldump -uroot -p --all-databases --complete-insert

--komprimer, -C

Aktiver komprimering for at overføre al information mellem klienten og serveren

mysqldump -uroot -p --all-databases --compress

--skab-muligheder, -a

Inkluder alle MySQL-funktionsmuligheder i CREATE TABLE-sætningen. (Default er slået til)

mysqldump -uroot -p --all-databases

--databaser, -B

Eksporter flere databaser. Alle navneparametre efter parameteren behandles som databasenavne.

mysqldump -uroot -p --databases test mysql

--debug

Udgiv debug-information til debugging. Standardværdien er: d:t:o,/tmp/mysqldump.trace

mysqldump -uroot -p --all-databases --debug

mysqldump -uroot -p --all-databases --debug=" d:t:o,/tmp/debug.trace"

--debug-tjek

Tjek hukommelsen og åbn fil-instruktionerne og afslut.

mysqldump -uroot -p --all-databases --debug-check

--debug-info

Output debug-information og afslut

mysqldump -uroot -p --all-databases --debug-info

--default-character-set.

Sæt standardtegnsættet, standardværdien er utf8

mysqldump -uroot -p --all-databases --default-character-set=latin1

--forsinket-indsættelse

INSERT DELAYED for at eksportere data

mysqldump -uroot -p --all-databases --delayed-insert

--delete-master-logs

Master backup sletter logs. Denne parameter aktiveres automatisk --master-data.

mysqldump -uroot -p --all-databases --delete-master-logs

--deaktivere-nøgler

For hver tabel bruges /*!40000 ALTER TABLE tbl_name DEAKTIVER NØGLER */; og /*!40000 ALTER TABEL tbl_name AKTIVERINGSNØGLER */; Sætningen refererer til INSERT-udsagnet. Dette muliggør hurtigere import af dumpede filer, da det opretter et indeks efter indsættelse af alle rækker. Denne mulighed er kun tilgængelig for MyISAM-tabeller, som som standard går til åben tilstand.

mysqldump -uroot -p --all-databases

--dump-slave

Denne mulighed vil få hovedbinlog-placeringen og filnavnet tilføjet til filen, som de eksporterede data er tilføjet fra. Når den er sat til 1, bruges kommandoen CHANGE MASTER til at outputte til datafilen. Når den er sat til 2, tilføj forklarende information før kommandoen. Denne mulighed vil aktivere --lås-alle-tabeller, medmindre --enkelt-transaktion er angivet. Denne mulighed slår automatisk --låse-tabeller fra. Standardværdien er 0.

mysqldump -uroot -p --all-databases --dump-slave=1

mysqldump -uroot -p --all-databases --dump-slave=2

--begivenheder, -E

Eksportbegivenheder.

mysqldump -uroot -p --all-databases --events

--udvidet-insert, -e

Brug INSERT-syntaksen med flere VALUES-kolonner. Det gør eksport af filer mindre og fremskynder importen. Som standard åben tilstand, brug --skip-extended-insert to cancel-muligheden.

mysqldump -uroot -p --all-databases

mysqldump -uroot -p --all-databases--skip-extended-insert (unoption)

--felter-afsluttet-af

Ignorer de givne felter i eksportfilen. Bruges med --fane-muligheden, ikke for --databaser og --alle-databaser valgmulighederne

mysqldump -uroot -p testtest --tab="/home/mysql" --fields-terminated-by="#"

--felter-indelukket-af

De enkelte felter i outputfilen er pakket ind med de givne tegn. Bruges med --fane-muligheden, ikke for --databaser og --alle-databaser valgmulighederne

mysqldump -uroot -p testtest --tab="/home/mysql" --fields-enclosed-by="#"

--felter-valgfrit-indkapslet-af

Felterne i outputfilen indpakkes selektivt med de givne tegn. Bruges med --fane-muligheden, ikke for --databaser og --alle-databaser valgmulighederne

mysqldump -uroot -p testtest --tab="/home/mysql" --fields-enclosed-by="#" --fields-optionally-enclosed-by ="#"

--marker-undslup-forbi

De enkelte felter i outputfilen ignorerer de givne tegn. Bruges med --fane-muligheden, ikke for --databaser og --alle-databaser valgmulighederne

mysqldump -uroot -p mysql user --tab="/home/mysql" --fields-escaped-by="#"

--flush-logs

Opdater loggene, før du starter eksporten.

Bemærk venligst: hvis du eksporterer flere databaser på én gang (ved at bruge --databaser eller --alle-databaser-muligheden), vil loggene blive opdateret fra database til database. Undtagen ved at bruge --lock-all-tables eller --master-data. I dette tilfælde vil loggen blive opdateret én gang, og den tilsvarende tabel vil blive låst samtidig. Derfor, hvis du har til hensigt at eksportere og tømme logs samtidig, bør du bruge --lock-all-tables eller --master-data og --flush-logs.

mysqldump -uroot -p --all-databases --flush-logs

--flush-privilegier

Efter eksport af MySQL-databasen udsteder du en FLUSH PRIVILEGES-sætning. For korrekt gendannelse bør denne mulighed bruges til eksport af MySQL-databaser og afhængige MySQL-databasedata når som helst.

mysqldump -uroot -p --all-databases --flush-privileges

--kraft

Ignorer SQL-fejl, der opstår under eksport.

mysqldump -uroot -p --all-databases --force

--Hjælp

Vis hjælpeinformation og afslutt.

mysqldump --hjælp

--hex-blob

Eksporter binære strengfelter i hex-format. Denne mulighed skal bruges, hvis binære data er tilgængelige. De berørte felttyper er BINÆR, VARBINÆR og BLOB.

mysqldump -uroot -p --all-databases --hex-blob

--vært, -h

Værtsinformation, der skal eksporteres

mysqldump -uroot -p --host=localhost --all-databases

--ignorer-tabel

Den angivne tabel eksporteres ikke. Når man angiver, at flere tabeller ignoreres, skal det gentages flere gange, én tabel ad gangen. Hver tabel skal angive både databasen og tabelnavnet. For eksempel: --ignore-table=database.table1 --ignore-table=database.table2 ......

mysqldump -uroot -p --host=localhost --all-databases --ignore-table=mysql.user

--include-master-host-port

'SKIFT MASTER TIL..' genereret af --dump-slave Tilføj 'MASTER_HOST=<host>,MASTER_PORT=<port>' til udsagnet  

mysqldump -uroot -p --host=localhost --all-databases --include-master-host-port

--indsæt-ignorer

Brug INSERT IGNOREN-sætningen, når du indsætter en linje.

mysqldump -uroot -p --host=localhost --all-databases --insert-ignore

--linjer-termineret-af

Hver linje i outputfilen divideres af en given streng. Bruges med --fane-muligheden, ikke for --databaser og --alle-databaser valgmulighederne.

mysqldump -uroot -p --host=localhost test test --tab="/tmp/mysql" --lines-terminated-by="##"

--lås-alle-tabeller, -x

Indsend en anmodning om at låse alle tabeller i alle databaser for at sikre datakonsistens. Dette er en global læselås, og --enkelt-transaktion og --låsetabeller er automatisk slået fra.

mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables

--låseborde, -l

Lås alle tabeller, før du starter eksporten. Lås tabellen med READ LOCAL, så MyISAM-tabeller kan indsættes parallelt. For tabeller, der understøtter transaktioner, såsom InnoDB og BDB,--er enkelttransaktion en bedre løsning, fordi det slet ikke kræver låsetabeller.

Bemærk, at når man eksporterer flere databaser,-- låser tabeller for hver database separat. Derfor garanterer denne mulighed ikke logisk konsistens mellem databaser for tabeller i den eksporterede fil. Eksportstatus for forskellige databasetabeller kan være helt forskellig.

mysqldump -uroot -p --host=localhost --all-databases --lock-tables

--log-fejl

Vedhæft advarsler og fejlmeddelelser til en given fil

mysqldump -uroot -p --host=localhost --all-databases --log-error=/tmp/mysqldump_error_log.err

--master-data

Denne mulighed tilføjer placeringen og filnavnet for binloggen til outputfilen. Hvis det er 1, vil kommandoen CHANGE MASTER blive udleveret; Hvis det er 2, tilføj en kommentar før outputkommandoen CHANGE MASTER. Muligheden vil aktivere --lås-alle-tabeller-muligheden, medmindre --enkelt- transaktion også er specificeret (i dette tilfælde får den globale læselås kort tid, når eksporten starter; For andet indhold, se venligst --enkelt-transaktionsmuligheden nedenfor). Denne mulighed er automatisk slået fra – låseborde-muligheden.

mysqldump -uroot -p --host=localhost --all-databases --master-data=1;

mysqldump -uroot -p --host=localhost --all-databases --master-data=2;

--max_allowed_packet

Den maksimale pakkelængde, der sendes og accepteres af serveren.

mysqldump -uroot -p --host=localhost --all-databases --max_allowed_packet=10240

--net_buffer_length

Cache-størrelse for TCP/IP og socket-forbindelser.

mysqldump -uroot -p --host=localhost --all-databases --net_buffer_length=1024

--no-autocommmit

Brug autocommit/commit-sætningen til at wrappe tabellen.

mysqldump -uroot -p --host=localhost --all-databases --no-autocommit

--no-create-db, -n

Eksporter kun dataene uden at tilføje CREATE DATABASE-sætningen.

mysqldump -uroot -p --host=localhost --all-databases --no-create-db

--ingen-skabe-info, -t

Eksporter kun dataene uden at tilføje CREATE TABLE-sætningen.

mysqldump -uroot -p --host=localhost --all-databases --no-create-info

--no-data, -d

Ingen data eksporteres, kun databasetabelstrukturen eksporteres.

mysqldump -uroot -p --host=localhost --all-databases --no-data

--ingen-sæt-navne, -N

Ækvivalent med --skip-set-charset

mysqldump -uroot -p --host=localhost --all-databases --no-set-names

--opt

Ækvivalent med --add-drop-table, --add-locks, --create- options, --quick, --extended-insert, --lock-tables, --set- charset, --disable-keys Denne mulighed er aktiveret som standard og kan deaktiveres med --skip-opt.

mysqldump -uroot -p --host=localhost --all-databases --opt

--orden-for-primær

Hvis der findes en primærnøgle, eller den første unikke nøgle, sorter posterne for hver tabel. Dette virker, når MyISAM-tabeller eksporteres til InnoDB-tabeller, men det gør eksportprocessen lang.

mysqldump -uroot -p --host=localhost --all-databases --order-by-primary

--adgangskode, -p

Forbind databaseadgangskoden

--rør (tilgængeligt til vinduer)

Forbind til MySQL ved hjælp af en navngivet pipeline

mysqldump -uroot -p --host=localhost --all-databases --pipe

--port, -P

Forbind til databaseportnummeret

--protokol

Anvendte forbindelsesprotokoller, herunder: TCP, socket, pipe, memory.

mysqldump -uroot -p --host=localhost --all-databases --protocol=tcp

--hurtigt, -q

Eksporter direkte til standardoutput uden at buffere forespørgsler. Standard er slået til, brug --skip-quick for at annullere denne mulighed.

mysqldump -uroot -p --host=localhost --all-databases

mysqldump -uroot -p --host=localhost --all-databases --skip-quick

--citationsnavne,-Q

Brug (') til at skabe tabel- og kolonnenavne. Standard er slået til, brug --skip-quote-names for at annullere denne mulighed.

mysqldump -uroot -p --host=localhost --all-databases

mysqldump -uroot -p --host=localhost --all-databases --skip-quote-names

--erstatte

Brug REPLACE INTO til at erstatte INSERT INTO.

mysqldump -uroot -p --host=localhost --all-databases --replace

--result-fil, -r

Output direkte til den angivne fil. Denne mulighed bør bruges på systemer, der bruger linjeskift (f.eks. DOS, Windows). Denne mulighed sikrer, at kun én linje bruges.

mysqldump -uroot -p --host=localhost --all-databases --result-file=/tmp/mysqldump_result_file.txt

--rutiner, -R

Eksporter gemte procedurer samt brugerdefinerede funktioner.

mysqldump -uroot -p --host=localhost --all-databases --routines

--set-charset

Tilføj 'SET NAMES default_character_set' til outputfilen. Som standard til åben tilstand, brug --skip-set-charset for at lukke muligheden.

mysqldump -uroot -p --host=localhost --all-databases

mysqldump -uroot -p --host=localhost --all-databases --skip-set-charset

--enkelt-transaktion

Denne mulighed indsender en BEGIN SQL-sætning før eksport af dataene, hvilket ikke blokerer nogen applikation og garanterer en konsistent tilstand af databasen på eksporttidspunktet. Det virker kun med multiversion-lagringsmotorer, kun InnoDB. Denne mulighed og --lock-tables-muligheden udelukker hinanden, fordi LOCK TABLES implicit gør enhver ventende transaktion forpligtet til noget. Hvis du vil eksportere en stor tabel, bør du bruge --quick funktionen i kombination.

mysqldump -uroot -p --host=localhost --all-databases --single-transaction

--dump-dato

Tilføj eksporttiden til outputfilen. Som standard åben tilstand, brug --skip-dump-date to close muligheden.

mysqldump -uroot -p --host=localhost --all-databases

mysqldump -uroot -p --host=localhost --all-databases --skip-dump-date

--skip-opt

Deaktiver –opt-muligheden.

mysqldump -uroot -p --host=localhost --all-databases --skip-opt

--sokl,-S

Angiv socket-filens placering, der forbinder til MySQL, og standardstien er /tmp/mysql.sock

mysqldump -uroot -p --host=localhost --all-databases --socket=/tmp/mysqld.sock

--tab,-T

Opret en tabulatordelt tekstfil for hver tabel i en given sti. Bemærk: Kun for mysqldump- og mysqld-servere, der kører på samme maskine.

mysqldump -uroot -p --host=localhost test test --tab="/home/mysql"

--tabeller

Overtag parameteren --databases (-B) for at angive tabelnavnet, der skal eksporteres.

mysqldump -uroot -p --host=localhost --databases test --tables test

--triggere

Eksport triggere. Denne mulighed er aktiveret som standard, deaktiver den med --skip-triggers.

mysqldump -uroot -p --host=localhost --all-databases --triggers

--tz-utc

Indstil tidszonen TIME_ZONE='+00:00' øverst i eksporten for at sikre korrektheden af TIMESTAMP-dataene, der eksporteres i forskellige tidszoner eller når dataene flyttes til en anden tidszone.

mysqldump -uroot -p --host=localhost --all-databases --tz-utc

--bruger, -u

Angiv brugernavnet på forbindelsen.

--omstændelig, --v

Output information om flere platforme.

--version, -V

Output mysqldump-versionsinformation og afslut

--hvor, -w

Kun de poster, der er valgt til den givne HVOR-betingelse, bliver dumpet. Bemærk, at hvis betingelsen indeholder et kommando-fortolkerspecifikt rum eller tegn, skal du sørge for at referere til betingelsen.

mysqldump -uroot -p --host=localhost --all-databases --where=" user='root'"

--xml, -X

Eksporter XML-format.

mysqldump -uroot -p --host=localhost --all-databases --xml

--plugin_dir

En mappe over klient-side plugins for kompatibilitet med forskellige plugin-versioner.

mysqldump -uroot -p --host=localhost --all-databases --plugin_dir="/usr/local/lib/plugin"

--default_auth

Klient-plugins bruger som standard tilladelser.

mysqldump -uroot -p --host=localhost --all-databases --default-auth="/usr/local/lib/plugin/<PLUGIN>"





Tidligere:Jeg kan ikke få værdien af Json i bootstrap-tabellen
Næste:Konverter forespørgselsresultater til Json-format scriptdeling
Opslået på 01/06/2019 02.16.47 |
Tak fordi du delte
 Udlejer| Opslået på 07/02/2021 10.01.20 |
MySQL eksporterer forespørgselsresultaterne til en fil
https://www.itsvse.com/thread-9557-1-1.html
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com