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子句指定行结尾.查看下面的示例.

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包装器,允许从命令行执行相同的操作./p>

加载数据如下 :

$ 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"更改转义.