查看secure-file-priv变量,只有在这个路径下才能使用文件导出导入
show variables like '%secure%';
导出数据
select * from test.data into outfile '/var/lib/mysql-files/test.txt';
可以添加参数
- FIELDS TERMINATED BY '字符串':
- 用途:指定字段之间的分隔符。
- 例子:FIELDS TERMINATED BY ',' 指定字段之间用逗号
,
分隔。
- FIELDS [OPTIONALLY] ENCLOSED BY '字符':
- 用途:指定字段值是否被指定的字符包围。OPTIONALLY 关键字表示字段值的包围是可选的。
- 例子:FIELDS ENCLOSED BY '"' OPTIONALLY 指定字段值可能被双引号
"
包围,但是这是可选的。
- FIELDS ESCAPED BY '字符':
- 用途:指定用于转义特殊字符的字符。
- 例子:FIELDS ESCAPED BY '\\' 指定反斜杠
\
用于转义特殊字符。
- LINES STARTING BY '字符串':
- 用途:指定行的开头应该以什么字符串开始。
- 例子:LINES STARTING BY 'START' 指定行应该以字符串 START 开始。
- LINES TERMINATED BY '字符串':
- 用途:指定行的结束符。
- 例子:LINES TERMINATED BY '\n' 指定行应该以换行符结束。
例如以下命令实现了字段之间用、隔开,字符型数据用""括起来,每条记录以-开头,表示每行以回车换行符结尾
select * from test.data into outfile '/var/lib/mysql-files/test.txt' \
FIELDS TERMINATED BY '\、' \
OPTIONALLY ENCLOSED BY '\"' \
LINES STARTING BY '\-' \
TERMINATED BY '\r\n';
导入数据
需要创建一个相同结构的表,这里直接在原主机直接拷贝结构
create table data_copy like data;
导入数据
load data infile '/var/lib/mysql-files/test.txt' into table data_copy \
FIELDS TERMINATED BY '\、' \
OPTIONALLY ENCLOSED BY '\"' \
LINES STARTING BY '\-' \
TERMINATED BY '\r\n';