Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 18434|Отговор: 2

[Източник] MySQL използва mysqldump за експортиране на данни с условия

[Копирай линк]
Публикувано в 26.04.2019 г. 16:07:23 ч. | | | |

Архивиране и експортиране на MySQL база данни
https://www.itsvse.com/thread-4004-1-1.html
(Източник: Architect_Programmer)
Резюмета на бази данни за импорт и износ на mysqldump
https://www.itsvse.com/thread-4353-1-1.html
(Източник: Architect_Programmer)
mysqldump експортира база данни "достъпът е отказан"
https://www.itsvse.com/thread-4005-1-1.html
(Източник: Architect_Programmer)

Както е показано в горния линк, съдържанието на цялата база данни се експортира, може ли да се експортира с условия? Разбира се че можеш!


Команда:

Анализ на параметрите:

  • -h: Посочете адреса на базата данни
  • --порт: Посочете порта на базата данни, ако е по подразбиране порт 3306, може да бъде пропуснат
  • -u: номер на сметка
  • -p: парола
  • db_name: Това се отнася до коя база данни да се експортира
  • tab_name: Това се отнася до коя таблица да се експортира
  • --къде: Критерии за филтриране на данни
  • --no-create-info: експортира данни само без добавяне на оператор CREATE TABLE.


Накрая следвайте пътя до мястото, където трябва да експортирате хранилището.

Илюстрирам:

-t: Само наръчни данни

--къде: условие

--triggers=false: Не насочвайте тригерите

--замени: Замени INSERT INTO с REPLACE INTO



Параметри:

--всички-бази данни, -А

Експортирайте всички бази данни.

mysqldump -uroot -p --all-databases

--all-tablespaces, -Y

Експортирайте всички tablespaces.

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

--no-tablespaces, -y

Не се експортира информация за пространството на таблиците.

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

--add-drop-database

Добавете изказване за drop database преди всяка база данни да бъде създадена.

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

--добавяне-изпускане-таблица

Добавете оператор drop table преди всяка да бъде създадена таблица с данни. (По подразбиране е отворено, използвайте --skip-add-drop-table за отмяна)

mysqldump -uroot -p --all-databases (по подразбиране добави изявление drop)

mysqldump -uroot -p --all-databases –skip-add-drop-table (undrop оператор)

--add-locks

Добавете ЗАКЛЮЧВАЩИ ТАБЛИЦИ преди експортиране на всяка таблица и след това ОТКЛЮЧВАНЕ на ТАБЛИЦА. (по подразбиране е включено, използвайте опцията --skip-add-locks за анулиране)

mysqldump -uroot -p --all-databases (LOCK оператор е добавен по подразбиране)

mysqldump -uroot -p --all-databases –skip-add-locks (unlock statement)

--allow-keywords

Позволява създаване на имена на колони, които са ключови думи. Това се прави чрез добавяне на името на таблицата към името на всяка колона.

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

--прилагане-робски изявления

Добавете 'STOP SLAVE' преди 'CHANGE MASTER' и 'START SLAVE' в края на експорта.

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

--character-sets-dir

Директория на файлове с набор от символи

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

--коментари

Допълнителна информация. По подразбиране е включен и може да бъде анулиран с --skip-comments

mysqldump -uroot -p --all-databases (коментари по подразбиране към записите)

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

--съвместим

Експортираните данни ще бъдат съвместими с други бази данни или по-стари версии на MySQL. Стойностите могат да бъдат ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options и др.

За да използвате няколко стойности, разделете ги с запетаи. Не е гарантирано, че е напълно съвместим, но колкото е възможно повече.

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

--компактен

Експортирайте по-малко изходна информация (за дебъгване). Премахнете структури като анотации и глави и опашки. Опцията е налична: --skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys

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

--complete-insert, -c

Използвайте пълната инструкция за вмъкване (включително името на колоната). Това може да подобри ефективността на поставянето, но може да бъде повлияно от max_allowed_packet параметри и да доведе до повреди при поставянето.

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

--компрес, -C

Активирайте компресия за предаване на цялата информация между клиента и сървъра

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

--създавай-опции, -а

Включете всички опции за функции на MySQL в изявлението CREATE TABLE. (По подразбиране е включено)

mysqldump -uroot -p --all-databases

--бази данни, -B

Експортирайте няколко бази данни. Всички параметри на имена след параметъра се третират като имена на база данни.

mysqldump -uroot -p --databases test mysql

--debug

Извеждане на информация за отстраняване на грешки при отстраняване на грешки. По подразбиране стойността е: d:t:o,/tmp/mysqldump.trace

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

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

--проверка-отстраняване на грешки

Провери паметта, отвори файловите инструкции и излез.

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

--debug-info

Извеждане на дебъг информация и изход

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

--стандартен набор от символи

Задайте стандартния набор от символи, стойността по подразбиране е utf8

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

--отложено-вмъкване

INSERT DELAYED за експортиране на данни

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

--delete-master-logs

Master Backup изтрива логовете. Този параметър автоматично ще активира --master-data.

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

--деактивиране-ключове

За всяка таблица използвайте /*!40000 ALTER TABLE tbl_name DISABLE KEYS */; и /*!40000 ALTER TABLE tbl_name ENABLE KEYS */; Изявлението се позовава на INSERT изявлението. Това позволява по-бърз импорт на изхвърлени файлове, тъй като се създава индекс след вмъкване на всички редове. Тази опция е достъпна само за MyISAM таблици, които по подразбиране са в отворено състояние.

mysqldump -uroot -p --all-databases

--роб на изхвърляне

Тази опция ще доведе до добавяне на основното място за бинлог и името на файла към файла, от който са добавени експортираните данни. Когато е настроено на 1, командата CHANGE MASTER се използва за извеждане в файла с данни. Когато сте настроени на 2, добавете обяснителна информация преди командата. Тази опция ще включи --lock-all-tables, освен ако не е посочена --single-transaction. Тази опция автоматично изключва опцията --lock-tables. По подразбиране стойността е 0.

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

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

--събития, -E

Експортни събития.

mysqldump -uroot -p --all-databases --събития

--удължено-вмъкване, -e

Използвайте синтаксиса INSERT с няколко колони VALUES. Това прави експортирането на файлове по-малко и ускорява импорта. По подразбиране е отворено състояние, използвайте опцията --skip-extended-insert, за да cancels.

mysqldump -uroot -p --all-databases

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

--fields-terminated-by

Игнорирай дадените полета във файла за експорт. Използва се с опцията --tab, не за опциите --бази данни и --all-databases

mysqldump -uroot -p тест --tab="/home/mysql" --fields-terminated-by="#"

--полета-затворени-от

Отделните полета в изходния файл са обвити с дадените символи. Използва се с опцията --tab, не за опциите --бази данни и --all-databases

mysqldump -uroot -p тест --tab="/home/mysql" --fields-enclosed-by="#"

--полета-опционално-затворени-от

Полетата в изходния файл се обвиват селективно с дадените знаци. Използва се с опцията --tab, не за опциите --бази данни и --all-databases

mysqldump -uroot -p тест --tab="/home/mysql" --fields-enclosed-by="#" --fields-optionally-enclosed-by ="#"

--fields-escaped-by

Отделните полета в изходния файл игнорират дадените символи. Използва се с опцията --tab, не за опциите --бази данни и --all-databases

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

--flush-logs

Обновете логовете преди да започнете експорта.

Моля, обърнете внимание: ако експортирате няколко бази данни едновременно (използвайки опцията --databases или --all-databases), логовете ще се обновяват поотделно. Освен чрез --lock-all-tables или --master-data. В този случай логът ще бъде обновен веднъж и съответната таблица ще бъде заключена едновременно. Затова, ако възнамерявате да експортирате и промивате логове едновременно, трябва да използвате --lock-all-tables или --master-data и --flush-logs.

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

--привилегии за пускане

След експортиране на MySQL базата данни, издайте изявление FLUSH PRIVILEGES. За правилно възстановяване тази опция трябва да се използва за експортиране на данни от MySQL база данни и зависими MySQL данни по всяко време.

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

--сила

Игнорирайте SQL грешките, които се появяват по време на експортиране.

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

--Помощ

Покажете информация за помощ и излезте.

mysqldump --помощ

--хекс-блоб

Експортирайте бинарни низови полета с хекс формат. Тази опция трябва да се използва, ако има налични двоични данни. Засегнатите типове полета са BINARY, VARBINARY и BLOB.

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

--домакин, -х

Информация за хоста, която трябва да бъде експортирана

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

--игнориране-таблица

Посочената таблица не се експортира. Когато се уточнява, че множество таблици се игнорират, това трябва да се повтаря многократно, по една таблица наведнъж. Всяка таблица трябва да посочва както базата данни, така и името на таблицата. Например: --ignore-table=database.table1 --ignore-table=database.table2 ......

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

--включи-майстор-хост-порт

'СМЕНИ МАЙСТОРА В..' генериран от --dump-slave Добавете 'MASTER_HOST=<host>,MASTER_PORT=<port>' към твърдението  

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

--вмък-игнорирай

Използвайте оператора INSERT IGNORE при вмъкване на ред.

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

--линии-завършват с

Всеки ред от изходния файл е разделен на даден низ. Използва се с опцията --tab, не за опциите --бази данни и --all-databases.

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

--заключване-всички-маси, -x

Подайте заявка за заключване на всички таблици във всички бази данни, за да осигурите съгласуваност на данните. Това е глобално заключване за четене, а опциите ---one-transaction и --lock-tables се изключват автоматично.

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

--заключващи маси, -l

Заключете всички маси преди да започнете експорта. Заключете таблицата с READ LOCAL, за да позволите на MyISAM таблиците да се вмъкват паралелно. За таблици, които поддържат транзакции, като InnoDB и BDB,--единична транзакция е по-добър вариант, защото изобщо не изисква заключващи таблици.

Имайте предвид, че при експортиране на няколко бази данни,-- заключващите таблици заключват таблиците за всяка база данни поотделно. Следователно тази опция не гарантира логическа съгласуваност между базите данни за таблиците в експортирания файл. Статусът на експортиране на различни таблици в бази данни може да бъде напълно различен.

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

--log-error

Прикачете предупреждения и съобщения за грешка към даден файл

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

--master-data

Тази опция добавя местоположението и името на binlog-а към изходния файл. Ако е 1, ще бъде изведена командата CHANGE MASTER; Ако е 2, добавете коментар преди изходната команда CHANGE MASTER. Опцията ще се включи опцията --lock-all-tables, освен ако не е посочена и --single- транзакция (в този случай глобалната заключване за четене получава кратко време при започване на експорта; За друго съдържание, моля, вижте опцията ---single-transaction по-долу). Тази опция се изключва автоматично --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

Максималната дължина на пакета, изпратен и приет от сървъра.

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

--net_buffer_length

Размер на кеша за TCP/IP и сокет връзки.

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

--без автокоммит

Използвайте оператора autocommit/commit, за да обвиете таблицата.

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

--no-create-db, -n

Експортирайте само данните без да добавяте CREATE DATABASE оператора.

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

--no-create-info, -t

Експортирайте данните само без да добавяте CREATE TABLE оператора.

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

--без данни, -d

Не се експортират данни, само структурата на таблицата на базата данни се експортира.

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

--без имена, -N

Еквивалентно на --skip-set-charset

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

--opt

Еквивалентно на --add-drop-table, --add-locks, --create- options, --quick, --extended-insert, --lock-tables, --set- charset, --disable-keys Тази опция е активирана по подразбиране и може да бъде деактивирана с --skip-opt.

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

--ред по първично

Ако съществува първичен ключ или първият уникален ключ, сортирайте записите за всяка таблица. Това работи при експортиране на MyISAM таблици към InnoDB таблици, но прави процеса на експортиране по-дълго.

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

--парола, -п

Свържете паролата за базата данни

--тръба (налична за прозорци)

Свържете се с mySQL чрез именуван конвейер

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

--порт, -P

Свържете се с номера на порта на базата данни

--протокол

Използвани протоколи за връзка, включително: tcp, socket, pipe, memory.

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

--бързо, -q

Експортирайте директно към стандартен изход без буфериране на заявки. По подразбиране е включено, използвайте --skip-quick, за да отмените тази опция.

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

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

--цитат-имена,-Q

Използвайте (') за създаване на имена на таблици и колони. По подразбиране е включено, използвайте --skip-quote-names, за да отмените тази опция.

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

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

--замени

Използвайте REPLACE INTO, за да замените INSERT INTO.

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

--result-file, -r

Извеждане директно към посочения файл. Тази опция трябва да се използва на системи, които използват newline wraps (например DOS, Windows). Тази опция гарантира, че се използва само един ред.

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

--рутини, -R

Експортирайте съхранявани процедури, както и персонализирани функции.

mysqldump -uroot -p --host=localhost --all-databases --рутини

--set-charset

Добавете 'SET NAMES default_character_set' към изходния файл. По подразбиране в open state, използвайте --skip-set-charset, за да затворите опцията.

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

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

--единична транзакция

Тази опция изпраща BEGIN SQL изявление преди експортиране на данните, което не блокира нито едно приложение и гарантира последователно състояние на базата данни към момента на експортиране. Работи само с мултиверсионни системи за съхранение, само с InnoDB. Тази опция и опцията --lock-tables са взаимно изключващи се, защото LOCK TABLES прави всяка чакаща транзакция имплицитно ангажирана. Ако искате да експортирате голяма маса, трябва да използвате опцията --quick в комбинация.

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

--дата-изхвърляне

Добавете времето за експортиране към изходния файл. По подразбиране в open състояние, използвайте опцията --skip-dump-date за затваряне.

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

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

--пропускай-оптирай

Изключи опцията –opt.

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

--гнездо,-S

Посочете местоположението на файловия файл на сокета, което се свързва с mysql, и по подразбиране пътят е /tmp/mysql.sock

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

--tab,-T

Създайте текстов файл с разделяне на табове за всяка таблица в даден път. Забележка: Само за mysqldump и mysqld сървъри, работещи на една и съща машина.

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

--таблици

Презапишете параметъра --databases (-B), за да зададете името на таблицата за експортиране.

mysqldump -uroot -p --host=localhost --тест на бази данни --тест на таблици

--тригери

Експортни тригери. Тази опция е активирана по подразбиране, деактивирайте я с --skip-triggers.

mysqldump -uroot -p --host=localhost --all-databases --тригери

--tz-utc

Задайте часовата зона TIME_ZONE='+00:00' в горната част на експорта, за да гарантирате коректността на данните от TIMESTAMP, експортирани в различни часови зони или когато данните се преместят в друга часова зона.

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

--потребител, -u

Посочете потребителското име на връзката.

--многословно, --v

Извеждане на информация за няколко платформи.

--версия, -V

Извеждане на информация за версията на mysqldump и изход

--къде, -w

Само записите, избрани за дадено условие WHERE, се изхвърлят. Имайте предвид, че ако условието съдържа специфично за интерпретатор на команди пространство или символ, непременно се позовавайте на това състояние.

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

--xml, -X

Експортирайте XML формат.

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

--plugin_dir

Директория с клиентски плъгини за съвместимост с различни версии на плъгини.

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

--default_auth

Клиентските плъгини по подразбиране използват разрешения.

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





Предишен:Не мога да взема стойността на Json в bootstrap масата
Следващ:Конвертиране на резултатите от заявката в споделяне на скрипт във формат Json
Публикувано в 1.06.2019 г. 2:16:47 ч. |
Благодаря, че сподели
 Хазяин| Публикувано в 7.02.2021 г. 10:01:20 ч. |
MySQL експортира резултатите от заявката във файл
https://www.itsvse.com/thread-9557-1-1.html
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com