使用previleges的新用户能够删除一个表(MySQL)
我从root用户登录MySQL 运行命令:-使用previleges的新用户能够删除一个表(MySQL),mysql,sql,Mysql,Sql,我从root用户登录MySQL 运行命令:- create user new; 然后我以新用户身份登录。运行以下命令:- use test; show grants; 结果是:- GRANT USAGE ON *.* TO ''@'LOCALHOST' 据我所知,新用户在此表上没有drop table权限或任何权限(用法除外) 但是,当我运行以下命令时:- DROP TABLE test_table; 查询成功。你能解释一下为什么会这样吗?如何禁用此用户删除表和撤消此用户的其他权限 提前
create user new;
然后我以新用户身份登录。运行以下命令:-
use test;
show grants;
结果是:-
GRANT USAGE ON *.* TO ''@'LOCALHOST'
据我所知,新用户在此表上没有drop table权限或任何权限(用法除外)
但是,当我运行以下命令时:-
DROP TABLE test_table;
查询成功。你能解释一下为什么会这样吗?如何禁用此用户删除表和撤消此用户的其他权限
提前感谢。根据,您需要考虑的还有:
SHOW GRANTS仅显示显式授予的权限
指定帐户。该帐户可能具有其他权限,但
它们不显示。例如,如果存在匿名帐户,
指定的帐户可能能够使用其权限,但显示授权
不会显示它们
提到CREATE USER在mysql.USER表中创建一个新行,并为帐户分配no权限。
当您使用USER new为当前用户运行SHOW GRANTS时会得到什么?Hi,但是我也没有明确授予“USAGE”权限。我根本没有分配任何权限。根据,用法是“没有特权”的同义词。嗯……好吧。。。当我运行“select*from information_schema.USER_PRIVILEGES;”时。。。。表中只有一个条目对应于用户“new”,即:-“new”@“%”def | USAGE | NO“,所以,不管怎样……有什么方法修复它吗?相同。。。将.上的使用权授予'@'本地主机''