MariaDB - 备份加载方法

  • 简述

    在本章中,我们将了解各种备份加载方法。从备份中恢复数据库是一个简单且有时非常漫长的过程。
    加载数据有三个选项:LOAD DATA 语句、mysqlimport 和简单的 mysqldump restore。
  • 使用加载数据

    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”更改转义。