重新加载分隔文本格式备份

来自泡泡学习笔记
BrainBs讨论 | 贡献2023年7月24日 (一) 08:46的版本 (创建页面,内容为“对于使用mysqldump --tab产生的备份,每个表在输出目录中由一个包含该表的CREATE TABLE语句的.sql文件和一个包含表数据的.txt文件表示。要重新加载表,首先进入输出目录。然后使用mysql处理.sql文件创建一个空表,并使用.txt文件加载数据到表中: $> mysql db1 < t1.sql $> mysqlimport db1 t1.txt 除了使用mysqlimport加载数据文件外,还可以在mysql客户端内部使用LOAD DAT…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

对于使用mysqldump --tab产生的备份,每个表在输出目录中由一个包含该表的CREATE TABLE语句的.sql文件和一个包含表数据的.txt文件表示。要重新加载表,首先进入输出目录。然后使用mysql处理.sql文件创建一个空表,并使用.txt文件加载数据到表中:

$> mysql db1 < t1.sql
$> mysqlimport db1 t1.txt


除了使用mysqlimport加载数据文件外,还可以在mysql客户端内部使用LOAD DATA语句:

mysql> USE db1;
mysql> LOAD DATA INFILE 't1.txt' INTO TABLE t1;


如果在初始转储表时使用了任何数据格式选项,您必须在mysqlimport或LOAD DATA中使用相同的选项,以确保正确解释数据文件的内容:

$> mysqlimport --fields-terminated-by=,
         --fields-enclosed-by='"' --lines-terminated-by=0x0d0a db1 t1.txt


或者:

mysql> USE db1;
mysql> LOAD DATA INFILE 't1.txt' INTO TABLE t1
       FIELDS TERMINATED BY ',' FIELDS ENCLOSED BY '"'
       LINES TERMINATED BY '\r\n';