📜  MariaDB-备份加载方法

📅  最后修改于: 2020-11-27 05:38:40             🧑  作者: Mango


在本章中,我们将学习各种备份加载方法。从备份还原数据库是一个简单的过程,有时甚至是一个非常长的过程。

加载数据有三个选项:LOAD DATA语句,mysqlimport和简单的mysqldump restore。

使用LOAD DATA

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工具充当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语句中,引号和特殊字符可能无法正确解释。该语句采用未加引号的值,并将反斜杠视为转义字符。使用FIELDS子句指定格式。用“ ENCLOSED BY”指向引号,这会导致引号从数据值中剥离。通过“ ESCAPED BY”更改转义符。