MariaDB - 备份加载方法
本章我们将学习各种备份加载方式。 从备份恢复数据库是一个简单但有时非常漫长的过程。
加载数据有3个选项: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 工具充当加载数据包装器,允许从命令行执行相同的操作。
加载数据如下 −
$ 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"更改转义。