开发学院

您的位置:首页>教程>正文

教程正文

MariaDB 恢复数据

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

  加载数据如下所示:

$ 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
Use the --columns option to specify column order −

$ 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.“转义。