所以我确实创建了一个新用户,授予所有特权,并刷新了特权
新创建的用户还可以查看information_schema
,mysql
,performance_schema
和sys
数据库。但是,我不希望用户访问那些4.我只是希望他在新创建的数据库上拥有CREATE / DROP / DELETE / INSERT / SELECT(所有必需的)等权限。
我做了以下事情:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
答案 0 :(得分:0)
为给定的数据库运行REVOKE
:
REVOKE ALL PRIVILEGES ON mysql.* FROM 'newuser'@'localhost';
我会跳过information_schema撤销。你可以看看用户是否仍然没有它,但我对此表示怀疑。
答案 1 :(得分:0)
权限:权限定义在数据库对象上提供给用户的访问权限。有两种类型的权限。
1)系统特权允许用户CREATE,ALTER或DROP数据库对象。 2)对象特权允许用户从特权适用的数据库对象中执行EXECUTE,SELECT,INSERT,UPDATE或DELETE数据。
您需要撤消要删除的权限.Below是语法
REVOKE privilege_name
ON object_name
FROM {user_name |PUBLIC |role_name}