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 ;
|
再次运行导出语句。成功运行。
很多其它文章请前往小胖轩.