1. 程式人生 > >mysql資料匯出許可權問題

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 ;

再次執行匯出語句,成功執行。

更多文章請前往小胖軒.