Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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: Вкажіть адресу бази даних
  • --port: Вкажіть порт бази даних, якщо це порт за замовчуванням 3306, його можна опустити
  • -u: номер рахунку
  • -p: пароль
  • db_name: Це стосується того, яку базу даних експортувати
  • tab_name: Це стосується того, яку таблицю експортувати
  • --де: Критерії фільтрації даних
  • --no-create-info: експортує дані лише без додавання оператора CREATE TABLE.


Наприкінці пройдіть шлях до місця, де потрібно експортувати сховище.

Ілюстрації:

-t: Лише орієнтирні дані

--де: стан

--triggers=false: Не направляйте тригери

--замінити: Замінити INSERT INTO на REPLACE INTO



Параметри:

--all-databases, -A

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

mysqldump -uroot -p --all-databases

--all-tablespaces, -Y

Експортуйте всі столові простори.

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

--add-drop-table

Додайте оператор drop table перед створенням кожної таблиці даних. (За замовчуванням відкрито, використовуйте --skip-add-drop-table для скасування)

mysqldump -uroot -p --all-databases (додай оператор drop за замовчуванням)

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

--add-locks

Додавайте LOCK TABLES перед експортом кожної таблиці та UNLOCK TABLE після. (за замовчуванням увімкнено, використовуйте опцію --skip-add-locks для скасування)

mysqldump -uroot -p --all-databases (оператор LOCK додається за замовчуванням)

mysqldump -uroot -p --all-databases –skip-add-locks (оператор unlock)

--allow-keywords

Дозволяє створювати назви колонок, які є ключовими словами. Це робиться шляхом додавання імені таблиці до імені кожного стовпця.

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

--apply-slave-statements

Додайте «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 (відписати коментарі)

--сумісний

Експортовані дані будуть сумісні з іншими базами даних або старішими версіями 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

--створювати-опції, -a

Включіть усі опції функцій MySQL у оператор CREATE TABLE. (За замовчуванням увімкнено)

mysqldump -uroot -p --all-databases

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

Експортуйте кілька баз даних. Усі параметри імен після параметра розглядаються як імена бази даних.

mysqldump -uroot -p --Database 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"

--debug-check

Перевірте пам'ять, інструкції відкрити файл і вийти.

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

--відкладена вставка

ВСТАВИТИ ЗАТРИМКУ для експорту даних

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

--delete-master-logs

Головна резервна копія видаляє журнали. Цей параметр автоматично активує --master-data.

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

--disable-keys

Для кожної таблиці використовуйте /*!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 --events

--розширена-вставка, -e

Використовуйте синтаксис INSERT з кількома стовпцями VALUES. Це зменшує експорт файлів і прискорює імпорт. За замовчуванням відкритий стан, використовуйте опцію --skip-extended-insert для скасування.

mysqldump -uroot -p --all-databases

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

--поля-закінчені-через

Ігноруйте наведені поля у експортному файлі. Використовується з опцією --tab, а не для опцій --databases та --all-databases

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

--поля-закрите-by

Окремі поля у вихідному файлі обгорнуті заданими символами. Використовується з опцією --tab, а не для опцій --databases та --all-databases

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

--поля-опціонативно-закриті

Поля у вихідному файлі вибірково обгорнуті заданими символами. Використовується з опцією --tab, а не для опцій --databases та --all-databases

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

--поля-втекли

Окремі поля у вихідному файлі ігнорують задані символи. Використовується з опцією --tab, а не для опцій --databases та --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

--господар, -h

Інформація про хост, яку потрібно експортувати

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

--lines-terminated-by

Кожен рядок вихідного файлу поділяється заданим рядком. Використовується з опцією --tab, а не для опцій --databases та --all-databases.

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

--lock-all-tables, -x

Подайте запит на блокування всіх таблиць у всіх базах даних для забезпечення узгодженості даних. Це глобальне блокування читання, і опції --one-transaction та --lock-tables автоматично вимикаються.

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

--замк-столики, -l

Заблокуйте всі таблиці перед початком експорту. Заблокуйте таблицю за допомогою READ LOCAL, щоб таблиці MyISAM могли вставляти паралельно. Для таблиць, які підтримують транзакції, таких як InnoDB і BDB,--однотранзакція — кращий варіант, оскільки взагалі не потребує блокування таблиць.

Зверніть увагу, що при експорті кількох баз даних,-- lock-tables блокують таблиці для кожної бази даних окремо. Тому ця опція не гарантує логічної узгодженості між базами даних для таблиць у експортованому файлі. Статус експорту різних таблиць баз даних може бути зовсім різним.

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

Ця опція додає розташування та назву бінлогу до вихідного файлу. Якщо це 1, буде виведена команда CHANGE MASTER; Якщо це 2, додайте коментар перед командою CHANGE MASTER. Опція увімкнеться опцією --lock-all-tables, якщо не вказано транзакцію --single- (у цьому випадку глобальний блокування читання отримує короткий час при початку експорту; Для іншого контенту, будь ласка, зверніться до опції --one-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

--no-autocommit

Використовуйте оператор 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

--no-data, -d

Дані не експортуються, експортується лише структура таблиці бази даних.

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

--no-set-names, -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

--пароль, -p

Підключіть пароль бази даних

--труба (доступна для вікон)

Підключайтеся до 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

Вивести безпосередньо у вказаний файл. Цю опцію слід використовувати на системах, які використовують обгортки для нових рядків (наприклад, DOS, Windows). Ця опція гарантує, що використовується лише один рядок.

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

--рутини, -R

Експортуйте збережені процедури, а також власні функції.

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

--сет-чарсет

Додайте 'SET NAMES default_character_set' до вихідного файлу. За замовчуванням відкритий стан, використовуйте --skip-set-charset для закриття опції.

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

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

--одноразова транзакція

Ця опція надсилає SQL-оператор BEGIN перед експортом даних, який не блокує жодного додатка і гарантує узгоджений стан бази даних на момент експорту. Він працює лише з багатоверсійними рушіями зберігання, лише з InnoDB. Ця опція та опція --lock-tables є взаємовиключними, оскільки LOCK TABLES робить будь-яку очікувану транзакцію неявно здійсненою. Якщо хочете експортувати велику таблицю, слід використовувати опцію --quick у комбінації.

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

--дата скидання

Додайте час експорту до вихідного файлу. За замовчуванням відкритий стан, використовуйте опцію --skip-dump-date для закриття.

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

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

--skip-opt

Вимкніть опцію –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 script sharing
Опубліковано 01.06.2019 02:16:47 |
Дякую, що поділилися
 Орендодавець| Опубліковано 07.02.2021 10:01:20 |
MySQL експортує результати запиту у файл
https://www.itsvse.com/thread-9557-1-1.html
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com