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 ;
|
再次運行導出語句。成功運行。
很多其它文章請前往小胖軒.