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

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

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

Использование НАГРУЗКИ ДАННЫХ

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

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

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

  • Используйте ключевое слово 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 действует как оболочка ЗАГРУЗКИ ДАННЫХ, позволяющая выполнять те же операции из командной строки.

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

$ 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

Использовать --columns возможность указать порядок столбцов -

$ 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», что приведет к удалению кавычек из значений данных. Измените escape-последовательности с помощью «ESCAPED BY».