相关疑难解决方法(0)

仅在一个数据库上授予文件

我想为john mysql用户允许LOAD DATA命令.所以我以root身份登录mysql终端并发出以下声明:

grant file on johndatabase.* to 'john'@'localhost';
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
Run Code Online (Sandbox Code Playgroud)

如果我换johndatabase.**.*,那么一切正常.但并不*.*意味着所有数据库?我想将john mysql用户限制为johndatabase.

mysql

31
推荐指数
1
解决办法
4万
查看次数

"加载数据"的Mysql权限错误

尝试将数据从平面文件数据库转储加载到新表时,我遇到了权限错误.我知道文件和我的表的架构是相同的,我尝试调整权限.我还应该尝试什么?

mysql> load data infile 'myfile.txt' into table mytable fields terminated by ',' enclosed by '"';
ERROR 1045 (28000): Access denied for user 'user'@'%' 

grant all on mytable.* to 'user'@'%
Run Code Online (Sandbox Code Playgroud)

mysql load-data-infile mysql-error-1045

18
推荐指数
2
解决办法
4万
查看次数

使用加载数据infile的最小数据库权限

我正在使用mysqlimport用TSV文件中的值替换表中的数据.一切正常(使用数据库超级用户名和密码导入数据),所以现在我想将其锁定,以便执行导入的数据库用户只能影响我要替换的单个表.

我知道我需要授予FILE .为了使用"LOAD DATA INFILE"(mysqlimport包装),但是我无法找到我可以在数据库上授予的最小权限集.

我试过了;

grant FILE on *.* to ...
grant ALL on dbname.tablename to ....
Run Code Online (Sandbox Code Playgroud)

但是当我运行mysqlimport时,这给了我一个错误;

mysqlimport: Error: Access denied for user ...
Run Code Online (Sandbox Code Playgroud)

有没有人知道是否有可能隔离数据库,以便只有相关的表可以被这个用户改变,或者我是否必须允许他们更广泛的访问才能使mysqlimport成为可能?

mysql permissions privileges mysqlimport load-data-infile

5
推荐指数
1
解决办法
5604
查看次数