授予承包商MySQL处理数据库的权限

授予承包商MySQL处理数据库的权限,mysql,Mysql,我有一个独立的承包商/自由职业者帮助对特定数据库进行一些优化 我已经创建了一个新用户,并为他们授予了该数据库的所有权限 但是,他们要求运行以下命令,我只需要确保这样做不会造成任何安全漏洞: grant super,reload on *.* to 'odeskuser_priv'@'%' identified by 'abc123'; grant all on mysql.* to 'odeskuser_priv'@'%' identified by 'abc123'; 如果用户“odesk

我有一个独立的承包商/自由职业者帮助对特定数据库进行一些优化

我已经创建了一个新用户,并为他们授予了该数据库的所有权限

但是,他们要求运行以下命令,我只需要确保这样做不会造成任何安全漏洞:

grant super,reload on *.* to 'odeskuser_priv'@'%' identified by 'abc123'; 
grant all on mysql.* to 'odeskuser_priv'@'%' identified by 'abc123';
如果用户“odeskuser”只能访问一个数据库,那么这些命令是否安全,不会对其他数据库造成任何潜在威胁

通过查看以下内容,感谢您

Super授予服务器管理权限,因此我想说:

grant super,reload on *.* to 'odeskuser_priv'@'%' identified by 'abc123'; 
将允许该用户打开服务器上任何DB的线程,因为
*.
表示服务器上的任何DB和任何表

编辑:

事实上,在全球范围内给予super是非常危险的:

超级权限使帐户可以使用“更改主机”来终止 或者mysqladmin kill来终止属于其他帐户(您 可以随时杀死自己的线程),清除二进制日志,配置 使用SET GLOBAL修改全局系统变量的更改,请执行以下操作: mysqladmin调试命令,启用或禁用日志记录,执行 即使启用了只读系统变量,也会更新,启动和 停止从服务器上的复制,指定中的任何帐户 存储程序和视图的DEFINER属性,并使您能够 连接(一次),即使连接限制由 已达到系统变量的最大连接数


考虑到您正在授予对mysql内部数据库的写访问权,我相信他们可以向grants表中添加行,并为自己提供所需的任何其他权限。正如Sammaye所指出的,Super也是危险的。

您可能希望添加IP而不是%