这两个命令有什么区别?
GRANT ALL ON druid.* TO 'druid'@'localhost' IDENTIFIED BY 'diurd';
GRANT ALL PRIVILEGES ON *.* TO druid@'%' IDENTIFIED BY 'diurd';发布于 2015-10-03 18:56:06
它们在特权语法方面是等效的;PRIVILEGES是可选的。Source
但是,这些权限的范围是不同的。一个命令授予对所有数据库的权限(*.*),另一个命令仅授予对数据库druid中的表的权限(druid.*)。
此外,一个只允许来自localhost的连接,但另一个允许来自任何地方的连接(%)。
最后,druid@'%'会给出一个语法错误;您需要用引号将druid括起来。
作为最佳实践,应尽可能限制权限(仅限本地,具有在尽可能少的地方执行尽可能少操作的权限)。
https://stackoverflow.com/questions/32921574
复制相似问题