В этой главе мы узнаем о различных способах загрузки резервных копий. Восстановление базы данных из резервной копии — это простой и иногда ужасно долгий процесс.
Есть три варианта загрузки данных: оператор 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».