Jak pokazano w powyższym linku, zawartość całej bazy danych jest eksportowana, czy można ją wyeksportować z warunkami? Oczywiście, że możesz!
Polecenie:
Analiza parametrów:
- -h: Określ adres bazy danych
- --port: Określ port bazy danych, jeśli jest to domyślny port 3306, można go pominąć
- -u: numer konta
- -p: hasło
- db_name: Odnosi się to do tego, którą bazę danych eksportować
- tab_name: Odnosi się to do tego, którą tabelę eksportować
- --gdzie: kryteria filtrowania danych
- --no-create-info: eksportuje tylko dane bez dodawania instrukcji CREATE TABLE.
Na końcu podążaj ścieżką do miejsca, gdzie musisz wyeksportować magazyn.
Ilustrują:
-t: Tylko dane przewodnika
--gdzie: stan
--triggers=fałszywe: Nie kieruj triggerami
--zastąp: Zamień INSERT INTO na REPLACE INTO
Parametry:
--wszystkie-bazy danych, -A
Eksportuj wszystkie bazy danych.
mysqldump -uroot -p --all-databases
--wszystkie pola tabelowe , -Y
Wyeksportuj wszystkie przestrzenie tabelowe.
mysqldump -uroot -p --all-databases --all-tablespaces
--no-tablespaces , -y
Nie eksportuje się żadnych informacji z przestrzeni tabel.
mysqldump -uroot -p --all-databases --no-tablespaces
--dodaj-upuszcz-bazę danych
Dodaj polecenie drop database przed utworzeniem każdej bazy danych.
mysqldump -uroot -p --all-databases --add-drop-databases
--add-drop-table
Dodaj polecenie drop table przed utworzeniem każdej tabeli danych. (Domyślnie jest otwarte, użyj --pomij-dodaj-upuści-tabelę, aby anulować opcję)
mysqldump -uroot -p --all-databases (domyślnie dodaj polecenie drop)
mysqldump -uroot -p --all-databases –skip-add-drop-table (polecenie undrop)
--add-locks
Dodaj LOCK TABLES przed każdym eksportem tabeli i UNLOCK TABLE po tym. (domyślnie jest włączone, użyj --pomij-dodaj-blokad, aby anulować opcję)
mysqldump -uroot -p --all-databases (polecenie LOCK jest domyślnie dodawane)
mysqldump -uroot -p --all-databases –skip-add-locks (polecenie unlock dock)
--zezwalaj-słowa kluczowe
Pozwala na tworzenie nazw kolumn, które są słowami kluczowymi. Robi się to poprzez dodanie nazwy tabeli do nazwy każdej kolumny.
mysqldump -uroot -p --all-databases --allow-keywords
--apply-slave-instrukcje
Dodaj 'STOP SLAVE' przed 'CHANGE MASTER' oraz 'START SLAVE' na końcu eksportu.
mysqldump -uroot -p --all-databases --apply-slave-commands
--character-sets-dir
Katalog plików zestawów znaków
mysqldump -uroot -p --all-databases --character-sets-dir=/usr/local/mysql/share/mysql/charsets
--komentarze
Dodatkowe informacje. Jest domyślnie włączony i można go anulować za pomocą --skip-comments
mysqldump -uroot -p --all-databases (domyślne komentarze rekordów)
mysqldump -uroot -p --all-databases --skip-comments (uncomment)
--kompatybilny
Eksportowane dane będą kompatybilne z innymi bazami danych lub starszymi wersjami MySQL. Wartości mogą być ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options itd.
Aby użyć kilku wartości, odstaw je przecinkami. Nie jest gwarantowane, że będzie w pełni kompatybilny, ale tak bardzo, jak to możliwe.
mysqldump -uroot -p --all-databases --compatible=ansi
--compact
Eksportuj mniej informacji wyjściowych (do debugowania). Usuń struktury takie jak adnotacje oraz orłówka i reszki. Opcja jest dostępna: --pomij-dodaj-upuść-tabelę --pomiń-dodaj-zamki --pomij-komentarze --pominąć-wyłącz-klucze
mysqldump -uroot -p --all-databases --compact
--wstaw kompletny, -c
Użyj pełnej instrukcji insert (w tym nazwy kolumny). Może to poprawić efektywność wstawiania, ale może być wpływane przez max_allowed_packet parametry i powodować awarie wstawiania.
mysqldump -uroot -p --all-databases --complete-insert
--kompresja, -C
Włącz kompresję, aby przekazać wszystkie informacje między klientem a serwerem
mysqldump -uroot -p --all-databases --compress
--create-options, -a
Uwzględnij wszystkie opcje funkcji MySQL w instrukcji CREATE TABLE. (Domyślne ustawienie włączone)
mysqldump -uroot -p --all-databases
--bazy danych, -B
Eksportuj kilka baz danych. Wszystkie parametry nazw po parametrze traktowane są jako nazwy baz danych.
mysqldump -uroot -p --databases test mysql
--debuguj
Wypisz informacje debugujące do debugowania. Domyślna wartość to: 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-check
Sprawdź pamięć i instrukcje otwórz plik, a potem wyjdź.
mysqldump -uroot -p --all-databases --debug-check
--debug-info
Wyjście informacji debugowania i wyjście
mysqldump -uroot -p --all-databases --debug-info
--domyślny-zestaw znaków
Ustaw domyślny zestaw znaków, domyślna wartość to utf8
mysqldump -uroot -p --all-databases --default-character-set=latin1
--opóźnione wstawianie
INSERT opóźniony eksport danych
mysqldump -uroot -p --all-databases --delayed-insert
--delete-master-logs
Kopia zapasowa usuwa logi. Ten parametr automatycznie aktywuje --master-data.
mysqldump -uroot -p --all-databases --delete-master-logs
--wyłącz-klucze
Dla każdej tabeli użyj /*!40000 ALTER TABLE tbl_name WYŁĄCZ KLUCZE */; oraz /*!40000 ALTER TABLE tbl_name KLUCZE WŁĄCZANIA */; Oświadczenie odnosi się do stwierdzenia INSERT. Pozwala to na szybszy import zrzutowanych plików, ponieważ po wstawieniu wszystkich wierszy tworzy indeks. Ta opcja jest dostępna tylko dla tabel MyISAM, które domyślnie przyjmują stan otwarty.
mysqldump -uroot -p --all-databases
--wysypialnik
Ta opcja spowoduje dodanie głównej lokalizacji binlogu oraz nazwy pliku do pliku, z którego dołączone są eksportowane dane. Po ustawieniu na 1, polecenie CHANGE MASTER zostanie użyte do wyjścia do pliku danych. Gdy ustawisz na 2, dodaj informacje wyjaśniające przed poleceniem. Ta opcja włączy --zablokuj wszystkie tabele, chyba że zostanie określona --pojedyncza transakcja. Ta opcja automatycznie wyłącza opcję --lock-tables. Domyślna wartość to 0.
mysqldump -uroot -p --all-databases --dump-slave=1
mysqldump -uroot -p --all-databases --dump-slave=2
--wydarzenia, -E
Wydarzenia eksportowe.
mysqldump -uroot -p --all-databases --events
--rozszerzony-insert, -e
Użyj składni INSERT z wieloma kolumnami VALUES. To zmniejsza eksport plików i przyspiesza import. Domyślnie w stanie otwartym, użyj opcji --skip-extended-insert, aby anulować.
mysqldump -uroot -p --all-databases
mysqldump -uroot -p --all-databases--skip-extended-insert (unoption)
--pola-zakończone-przez-
Ignoruj podane pola w pliku eksportu. Używa się z opcją --tab, a nie dla --baz danych i --wszystkich baz danych
mysqldump -uroot -p test test --tab="/home/mysql" --fields-terminated-by="#"
--pola-zamknięte-przez-
Poszczególne pola w pliku wyjściowym są owinięte w dane znaki. Używa się z opcją --tab, a nie dla --baz danych i --wszystkich baz danych
mysqldump -uroot -p test test --tab="/home/mysql" --fields-enclosed-by="#"
--fields-optionally-enclosed-by-by
Pola w pliku wyjściowym są selektywnie opakowane w dane znaki. Używa się z opcją --tab, a nie dla --baz danych i --wszystkich baz danych
mysqldump -uroot -p test test --tab="/home/mysql" --fields-enclosed-by="#" --fields-optionally-enclosed-by ="#"
--pola-uciekły-by
Poszczególne pola w pliku wyjściowym ignorują podane znaki. Używa się z opcją --tab, a nie dla --baz danych i --wszystkich baz danych
mysqldump -uroot -p mysql user --tab="/home/mysql" --fields-escaped-by="#"
--flush-log
Odśwież logi przed rozpoczęciem eksportu.
Prosimy pamiętać: jeśli wyeksportujesz wiele baz danych jednocześnie (korzystając z opcji --databases lub --all-databases), logi będą odświeżane w zależności od bazy danych. Z wyjątkiem użycia --lock-all-tables lub --master-data. W takim przypadku log zostanie odświeżony raz, a odpowiadająca mu tabela zostanie zablokowana w tym samym czasie. Dlatego jeśli zamierzasz jednocześnie eksportować i wyczyszczać logi, powinieneś użyć --lock-all-tables lub --master-data i --flush-logs.
mysqldump -uroot -p --all-databases --flush-logs
--przywileje flush
Po wyeksportowaniu bazy mysql wydaj polecenie FLUSH PRIVILEGES. Dla prawidłowego odzyskiwania tej opcji należy używać do eksportu bazy MySQL i zależnych danych MySQL w dowolnym momencie.
mysqldump -uroot -p --all-databases --flush-privileges
--siła
Ignoruj błędy SQL pojawiające się podczas eksportu.
mysqldump -uroot -p --all-databases --force
--Pomoc
Wyświetl informacje o pomocy i wyjdź.
mysqldump --pomoc
--heks-blob
Eksportuj binarne pola ciągów znaków za pomocą formatu hexowego. Ta opcja musi być użyta, jeśli dostępne są dane binarne. Dotknięte typy pól to BINARY, VARBINARY i BLOB.
mysqldump -uroot -p --all-databases --hex-blob
--prowadzący, -h
Informacje o hostach, które trzeba wyeksportować
mysqldump -uroot -p --host=localhost --all-databases
--ignore-table
Określona tabela nie jest eksportowana. Gdy określamy, że wiele tabel jest ignorowanych, trzeba to powtarzać wielokrotnie, po jednej tabeli naraz. Każda tabela musi określać zarówno bazę danych, jak i nazwę tabeli. Na przykład: --ignore-table=database.table1 --ignore-table=database.table2 ......
mysqldump -uroot -p --host=localhost --all-databases --ignore-table=mysql.user
--include-master-host-port
'CHANGE MASTER NA..' wygenerowane przez --dump-slave Dodaj do <host>zdania 'MASTER_HOST=,MASTER_PORT<port>='
mysqldump -uroot -p --host=localhost --all-databases -include-master-host-port
--insert-ignore
Użyj instrukcji INSERT IGNORE podczas wstawiania linii.
mysqldump -uroot -p --host=localhost --all-databases --insert-ignore
--linie-zakończone-przez-
Każda linia pliku wyjściowego jest podzielona przez dany ciąg znaków. Używam z opcją --tab, a nie dla --baz danych i --all-databases.
Mysqldump -uroot -p --host=localhost test test --tab="/tmp/mysql" --lines-terminated-by="##"
--zablokuj wszystkie stoły, -x
Złóż żądanie zablokowania wszystkich tabel we wszystkich bazach danych, aby zapewnić spójność danych. Jest to globalna blokada odczytu, a opcje --pojedynczej transakcji i --tabel blokad są automatycznie wyłączone.
mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables
--stoły na klucz, -l
Zablokuj wszystkie stoły przed rozpoczęciem eksportu. Zablokuj tabelę za pomocą READ LOCAL, aby umożliwić równoległe wstawianie tabel MyISAM. W tabelach obsługujących transakcje, takich jak InnoDB i BDB,--pojedyncza transakcja jest lepszą opcją, ponieważ w ogóle nie wymaga blokowania tabel.
Należy zauważyć, że podczas eksportu wielu baz danych,-- tabele blokujące blokują tabele dla każdej bazy osobno. Dlatego ta opcja nie gwarantuje logicznej spójności między bazami danych dla tabel w pliku eksportowanym. Status eksportu różnych tabel bazy danych może być całkowicie różny.
mysqldump -uroot -p --host=localhost --all-databases --lock-tables
--log-error
Dołącz ostrzeżenia i komunikaty błędów do danego pliku
mysqldump -uroot -p --host=localhost --all-databases --log-error=/tmp/mysqldump_error_log.err
--master-data
Ta opcja dodaje lokalizację i nazwę pliku binlogu do pliku wyjściowego. Jeśli jest 1, zostanie wygenerowane polecenie CHANGE MASTER; Jeśli jest to 2, dodaj komentarz przed wyjściem polecenia CHANGE MASTER. Opcja włączy opcję --lock-all-tables, chyba że określono również --pojedynczą transakcję (w takim przypadku globalna blokada odczytu ma krótki czas na rozpoczęcie eksportu; W przypadku innych treści prosimy o zapoznanie się z opcją --pojedyncza transakcja poniżej). Ta opcja jest automatycznie wyłączona --lock-tables.
mysqldump -uroot -p --host=localhost --all-databases --master-data=1;
mysqldump -uroot -p --host=localhost --all-databases --master-data=2;
--max_allowed_packet
Maksymalna długość pakietu wysłanego i zaakceptowanego przez serwer.
mysqldump -uroot -p --host=localhost --all-databases --max_allowed_packet=10240
--net_buffer_length
Rozmiar pamięci podręcznej dla połączeń TCP/IP i gniazd.
mysqldump -uroot -p --host=localhost --all-databases --net_buffer_length=1024
--no-autocommit
Użyj instrukcji autocommit/commit, aby oplatać tabelę.
mysqldump -uroot -p --host=localhost --all-databases --no-autocommit
--no-create-db, -n
Eksportuj tylko dane bez dodawania instrukcji CREATE DATABASE.
mysqldump -uroot -p --host=localhost --all-databases --no-create-db
--no-create-info, -t
Eksportuj tylko dane bez dodawania instrukcji CREATE TABLE.
mysqldump -uroot -p --host=localhost --all-databases --no-create-info
--no-data, -d
Nie eksportuje się żadnych danych, tylko struktura tabeli bazy danych.
mysqldump -uroot -p --host=localhost --all-databases --no-data
--bez nazw ustalonych na stałe, -N
Równoważne do --skip-set-charset
mysqldump -uroot -p --host=localhost --all-databases --no-set-names"
--opt
Odpowiednik --dodaj-upuści-tabelę, --dodaj-blokady, --tworzyć-opcje, --szybko, --rozszerzone-wstawienie, --tabele blokady, --set-znaki, --wyłączy-klucze Ta opcja jest domyślnie włączona i można ją wyłączyć za pomocą --pomij-opt.
mysqldump -uroot -p --host=localhost --all-databases --opt
--kolejność-po-podstawowej
Jeśli istnieje klucz główny lub pierwszy unikalny, posortuj rekordy dla każdej tabeli. To działa przy eksporcie tabel MyISAM do tabel InnoDB, ale proces eksportu zajmuje dużo czasu.
mysqldump -uroot -p --host=localhost --all-databases --order-by-primary
--hasło, -p
Podłącz hasło do bazy danych
--rura (dostępna do okien)
Połącz się z mysql za pomocą nazwanego potoku
mysqldump -uroot -p --host=localhost --all-databases --pipe
--lewo, -P
Połącz się z numerem portu bazy danych
--protokół
Stosowane protokoły połączenia, w tym: tcp, gniazdo, rura, pamięć.
mysqldump -uroot -p --host=localhost --all-databases --protocol=tcp
--szybko, -q
Eksportuj bezpośrednio do standardowego wyjścia bez buforowania zapytań. Domyślnie jest włączone, użyj --skip-quick, aby anulować tę opcję.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-quick
--cytuj-imiona,-Q
Użyj (') do wywoływania nazw tabel i kolumn. Domyślnie jest włączone, użyj --skip-quote-name, aby anulować tę opcję.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-quote-names
--zamień
Użyj REPLACE IN, aby zastąpić INSERT INTO.
mysqldump -uroot -p --host=localhost --all-databases --replace
--result-file, -r
Wyjście bezpośrednio do określonego pliku. Ta opcja powinna być stosowana na systemach korzystających z wrapów nowych linii (np. DOS, Windows). Ta opcja zapewnia, że używana jest tylko jedna linia.
mysqldump -uroot -p --host=localhost --all-databases --result-file=/tmp/mysqldump_result_file.txt
--rutyny, -R
Eksportuj procedury przechowywane oraz funkcje niestandardowe.
mysqldump -uroot -p --host=localhost --all-databases --routines
--set-charset
Dodaj 'SET NAMES default_character_set' do pliku wyjściowego. Domyślnie w stanie otwartym, użyj --skip-set-charset, aby zamknąć opcję.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-set-charset
--pojedyncza transakcja
Ta opcja wysyła polecenie BEGIN SQL przed eksportem danych, co nie blokuje żadnej aplikacji i gwarantuje spójny stan bazy danych w momencie eksportu. Działa tylko z silnikami pamięci wielowersyjnej, tylko z InnoDB. Ta opcja i opcja --lock-tables są wzajemnie wykluczające się, ponieważ LOCK TABLES sprawia, że każda oczekująca transakcja jest domyślnie zatwierdzona. Jeśli chcesz wyeksportować dużą tabelę, powinieneś użyć opcji --quick w kombinacji.
mysqldump -uroot -p --host=localhost --all-databases --single-transaction
--data wyrzucenia
Dodaj czas eksportu do pliku wyjściowego. Domyślnie w stanie otwartym, użyj opcji --skip-dump-date, aby zamknąć.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-dump-date
--skip-opt
Wyłącz opcję –opt.
mysqldump -uroot -p --host=localhost --all-databases --skip-opt
--gniazdo,-S
Określ lokalizację pliku socket łączącego się z mysql, a domyślna ścieżka to /tmp/mysql.sock
mysqldump -uroot -p --host=localhost --all-databases --socket=/tmp/mysqld.sock
--tabulator,-T
Utwórz plik tekstowy podzielony tabulatorami dla każdej tabeli w danej ścieżce. Uwaga: Tylko dla serwerów mysqldump i mysqld działających na tym samym komputerze.
mysqldump -uroot -p --host=localhost test test --tab="/home/mysql"
--tabele
Nadpisz parametr --databases (-B), aby określić nazwę tabeli do eksportu.
mysqldump -uroot -p --host=localhost --databases test --tables test
--wyzwalacze
Eksportuj wyzwalacze. Ta opcja jest domyślnie włączona, wyłącz ją za pomocą --skip-triggers.
mysqldump -uroot -p --host=localhost --all-databases --triggers
--tz-utc
Ustaw strefę czasową TIME_ZONE='+00:00' na górze eksportu, aby zapewnić poprawność danych TIMESTAMP eksportowanych w różnych strefach czasowych lub podczas przenoszenia danych do innej strefy czasowej.
mysqldump -uroot -p --host=localhost --all-databases --tz-utc
--użytkownik, -u
Określ nazwę użytkownika połączenia.
--rozwlekły, --v
Generuj informacje o wielu platformach.
--version, -V
Wyjście informacji o wersji mysqldump i wyjście
--gdzie, -w
Zrzutowane są tylko rekordy wybrane dla danego stanu WHERE. Należy zauważyć, że jeśli warunek zawiera specyficzną dla interpretera lub znak poleceń, koniecznie odwołuj się do tego warunku.
mysqldump -uroot -p --host=localhost --all-databases --where=" user='root'"
--xml, -X
Eksportuj format XML.
mysqldump -uroot -p --host=localhost --all-databases --xml
--plugin_dir
Katalog wtyczek po stronie klienta zapewniających kompatybilność z różnymi wersjami wtyczek.
mysqldump -uroot -p --host=localhost --all-databases --plugin_dir="/usr/local/lib/plugin"
--default_auth
Wtyczki klienckie domyślnie używają uprawnień.
mysqldump -uroot -p --host=localhost --all-databases --default-auth="/usr/local/lib/plugin/<PLUGIN>"
|