MariaDB 备份加载方法
在本章中,我们将学习各种备份加载方法。从备份恢复数据库是一个简单但有时非常漫长的过程。
有三种选项可以加载数据:LOAD DATA语句,mysqlimport和简单的mysqldump恢复。
使用LOAD DATA
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
使用– 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语句中,引号和特殊字符可能无法正确解释。该语句假设未加引号的值,并将反斜杠视为转义字符。使用FIELDS子句指定格式。用“ENCLOSED BY”指示引号,这将从数据值中除去引号。用“ESCAPED BY”更改转义字符。