1.前言
into outfile命令是常见的数据进行导入和导出工具,这里主要是介绍一下它的使用用法
2.使用select xxxx into outfile --- load data 进行数据迁移
说明:该命令一般用于对某张表进行数据导出操作,且导出的只是数据,而不包括数据结构。因此,在使用这个命令的时候,我们在导入数据之前需要先创建好表结构文件(也就是创表语句),然后再使用load data infile ‘file_name‘ into table table_name语句进行数据导入。
secure_file_priv参数说明:
这个参数用来限制数据导入和导出操作的效果,例如执行LOAD DATA、SELECT … INTO OUTFILE语句和LOAD_FILE()函数。这些操作需要用户具有FILE权限
如果这个参数为空,这个变量没有效果; 如果这个参数设为一个目录名,MySQL服务只允许在这个目录中执行文件的导入和导出操作。这个目录必须存在,MySQL服务不会创建它; 如果这个参数为NULL,MySQL服务会禁止导入和导出操作。这个参数在MySQL 5.7.6版本引入。
3.实战
##导出语句 -->select * from titles into outfile ‘/tmp/titles1.csv‘ fields terminated by ‘,‘ optionally enclosed by ‘"‘ lines terminated by ‘\n‘; ##这里要先建表结构文件(用创表语句),跨库进行创建表结构 -->create table db1.tablename like db2.tablename; ##导入语句 -->load data infile ‘导出是的文件的绝对路径‘ into table table_name ##注意以上命令都是在mysql客户端中执行,而不是linux系统命令下