mysql数据导出权限问题

mysql数据导出的方法有很多,例如mysqldump, mysql -e ‘sql‘ > file, 这些都可以很方便的导出数据,可是在使用普通用户导出数据的时候,出现了问题。

1
select * into outfile "file_path" from my_table

上面的语句也是mysql导出数据的一种方式,在使用普通用户执行语句时,出现了一下错误:

1
ERROR 1045 (28000): Access denied for user ‘my_user‘@‘%‘ (using password: YES)

之前已经对该用户在对应的数据库上执行了授权,如下:

1
grant all on my_database.* to my_user ;

上面语句可以看出,已经把所有的权限赋予了my_user,可是问题依旧存在。问题到底出现在什么地方呢?google了一下后发现mysql有单独的file权限,需要单独赋予,同时file是一个全局权限,不能够仅仅将单个数据库的文件权限赋予用户。找到原因后,下面就将文件权限赋予相应用户:

1
grant file on *.* to my_user ;

再次执行导出语句,成功执行。

更多文章请前往小胖轩.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。