今天学习 姜老师的 mysql技术内存innodb存储引擎时看到了有一个outfile和infile的语法,感觉挺好的, 这里面进行一下简单的学习与验证.
oufile 可以到处文件
infile 可以导入文件
但是mysql8 为了安全性 增加了一些专门的设置 不然会出现错误提示:
mysql> select * from test001 into outfile '/home/mysql/test001.txt'; ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
这个里面需要加一下限制才可以 在my.conf 里面增加一个参数.
修改配置可修改mysql配置文件,查看是否有 secure_file_priv = 这样一行内容,如果没有,则手动添加, secure_file_priv = /home 表示限制为/home文件夹 secure_file_priv = 表示不限制目录,等号一定要有,否则mysql无法启动 修改完配置文件后,重启mysql生效
然后可以进行一下 测试验证了
导出数据
select * from test001 into outfile '/home/mysql/test001.txt' fields TERMINATED BY ',';
导入数据
load data infile '/home/mysql/test001.txt' into table test001 fields TERMINATED BY ',' ;