我一直在玩MySQL数据库中的用户权限,但仍然无法得到理想的结果。
昨天,我授予权限,然后撤销,用户仍然拥有它。 (相同的浏览器,只退出)。重新启动浏览器后,它确实按预期工作。
今天,我设置了权限
GRANT CREATE ON `testdb`.`testtbl` TO 'ttt'@'localhost' IDENTIFIED BY 'test'
我没有看到“testdb”,但我也看到了表“测试” - 我不应该。当我去数据库“testdb”时,我无法创建表。它说
对表'ttbl'的用户'ttt'@'localhost'拒绝CREATE命令
SQL命令:
CREATE TABLE `ttbl` (
`test1` int NOT NULL,
`test2` int NOT NULL
) COMMENT='';
我想我错过了这个特权的一些观点,但我还是不知道出了什么问题。
仅使用此命令会出现什么问题? (不是CREATE USER,不确定是否强制要求)
由于
答案 0 :(得分:2)
在MySQL中,更改权限后,始终运行以下命令:
flush privileges;
它强制MySQL运行时主动重新加载特权表,因此会清除所有其他过时的特权。它不会自动执行此操作,因为它必须主动检测授权表的更改。