MariaDB 备份加载方法
在本章中,我们将了解各种备份加载方法。 从备份还原数据库是一个简单,有时非常长的过程。
加载数据有三个选项:LOAD DATA语句,mysqlimport和一个简单的mysqldump还原。
1. 使用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 '';
- 该语句假定数据文件中的列使用表的相同顺序。 如果您需要设置不同的顺序,您可以加载文件如下:
mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl (c, b, a);
2. 使用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=" " database_name source_file.txt
使用--columns选项指定列顺序:
$ mysqlimport -u root -p --local --columns=c,b,a database_name source_file.txt
3. 使用MYSQLDUMP
使用 mysqldump 还原需要这个简单的语句将转储文件加载回主机:
shell> mysql database_name < source_file.sql
4. 特殊字符和报价
在LOAD DATA语句中,引号和特殊字符可能无法正确解释。 语句采用不带引号的值,并将反斜线视为转义字符。 使用FIELDS子句指定格式。 指向带有“ENCLOSED BY BY”的引号,这将导致从数据值中去除引号。 使用“ESCAPED BY”更改转义。
事务是顺序组操作。 它们作为单个单元运行,并且直到组中的所有操作都成功执行时才终止。 组中的单个故障会导致整个事务失败,并导致对数据库没有影响。事务符合ACID(原子性,一致性,隔离和耐久性):原子性 - 它通过中止故 ...