Учебники

MariaDB — методы загрузки резервных копий

В этой главе мы узнаем о различных способах загрузки резервных копий. Восстановление базы данных из резервной копии — это простой и иногда ужасно долгий процесс.

Есть три варианта загрузки данных: оператор LOAD DATA, mysqlimport и простое восстановление mysqldump.

Использование LOAD DATA

Оператор LOAD DATA функционирует как массовый загрузчик. Просмотрите пример его использования, который загружает текстовый файл —

mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl;

Обратите внимание на следующие качества оператора LOAD DATA —

  • Используйте ключевое слово LOCAL, чтобы запретить MariaDB выполнять глубокий поиск хоста, и используйте очень конкретный путь.

  • Оператор предполагает формат, состоящий из строк, оканчивающихся символами перевода строки (символами новой строки) и значениями данных, разделенными табуляцией.

  • Используйте предложение FIELDS, чтобы явно указать форматирование полей в строке. Используйте предложение LINES, чтобы указать окончание строки. Посмотрите пример ниже.

Используйте ключевое слово LOCAL, чтобы запретить MariaDB выполнять глубокий поиск хоста, и используйте очень конкретный путь.

Оператор предполагает формат, состоящий из строк, оканчивающихся символами перевода строки (символами новой строки) и значениями данных, разделенными табуляцией.

Используйте предложение FIELDS, чтобы явно указать форматирование полей в строке. Используйте предложение LINES, чтобы указать окончание строки. Посмотрите пример ниже.

mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl
   FIELDS TERMINATED BY '|'
   LINES TERMINATED BY '\n';
  • Оператор предполагает, что столбцы в файле данных используют тот же порядок таблицы. Если вам нужно установить другой порядок, вы можете загрузить файл следующим образом:

Оператор предполагает, что столбцы в файле данных используют тот же порядок таблицы. Если вам нужно установить другой порядок, вы можете загрузить файл следующим образом:

mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl (c, b, a);

Использование MYSQLIMPORT

Инструмент mysqlimport действует как оболочка LOAD DATA, позволяющая выполнять те же операции из командной строки.

Загрузите данные следующим образом —

$ mysqlimport -u root -p --local database_name source_file.txt

Укажите форматирование следующим образом —

$ mysqlimport -u root -p --local --fields-terminated-by="|" \
   --lines-terminated-by="\n" database_name source_file.txt

Используйте параметр — столбцы, чтобы указать порядок столбцов —

$ mysqlimport -u root -p --local --columns=c,b,a \
   database_name source_file.txt

Использование MYSQLDUMP

Восстановление с помощью mysqldump требует этого простого оператора для загрузки файла дампа обратно на хост —

shell> mysql database_name < source_file.sql

ОСОБЫЕ ХАРАКТЕРЫ И ЦИТАТЫ

В операторе LOAD DATA кавычки и специальные символы могут интерпретироваться неправильно. Оператор принимает значения без кавычек и обрабатывает обратную косую черту как escape-символы. Используйте предложение FIELDS, чтобы указать форматирование. Укажите на кавычки с помощью «ENCLOSED BY», который вызывает удаление кавычек из значений данных. Изменения выходят с «ESCAPED BY».