关于Mysql数据导出时遇到的Can't create/write to file问题

一般我们从Mysql导出数据有很多种方法,如使用MysqlDump,或者使用可视化工具。但是如果我们是内网环境,而且数据库是部署在Linux,甚至Unix环境下无图形化环境时就必须要使用命令行方式来导出数据了

在这里我使用的是以select * from tablename into outfile '/path/path/filename' what what what.的方式来导出数据的,一般只要当前登录Mysql的数据库用户的权限是All的或者Select的,都可以执行该方式导出数据。但是当我们在导出的时候可能会遇到一个奇怪的问题:Can't create/write to file ‘what what what’ 后面还跟了个貌似是权限不够的说明,而且这个问题一般都只在Linux或者Unix环境下出现。其实该问题就是你没有在需要存储导出文件目录的读写权限。

拿“select * from tablename into outfile '/path/path/filename' what what what.”该条语句来讲,其实我们就是没有在path/path/下创建filename的权限。

对于该问题的解决方法,在Linux环境下,我们只需要将“/path/path”目录的权限改为666或者777,即任何用户都具有写的权限就行,然后我们再执行导出就能导出成功了。为了防止我们的导出会对系统其它进程或者任务造成影响,我们在导出成功后再将“/path/path”目录的权限改回原来的权限即可。

对于Unix环境,和Linux环境一样,改目录权限即可;Windows环境没有测试,应该不会存在该权限问题

你可能感兴趣的:(大数据,数据库)