2

我一直在使用 MySQL 数据库中的用户权限,但仍然无法获得想要的结果。

昨天,我授予权限,然后撤销,用户仍然拥有它。(相同的浏览器,仅注销)。重新启动浏览器后,它确实按预期工作。

今天,我设置了权限

GRANT CREATE ON `testdb`.`testtbl` TO 'ttt'@'localhost' IDENTIFIED BY 'test'

我没有看到只有“testdb”,但我也看到了表“test”——我不应该看到。当我去数据库“testdb”时,我无法创建表。它说

用户 'ttt'@'localhost' 拒绝表 'ttbl' 的 CREATE 命令

SQL 命令:

CREATE TABLE `ttbl` (
  `test1` int NOT NULL,
  `test2` int NOT NULL
) COMMENT='';

我想我错过了一些特权,但我仍然无法弄清楚出了什么问题。

仅使用此命令时会出现什么问题?(不是 CREATE USER,不确定是否是强制性的)

谢谢

4

1 回答 1

2

在 MySQL 中,更改权限后,始终运行以下命令:

flush privileges;

它强制 MySQL 运行时主动重新加载权限表,从而清除所有其他过时的权限。它不会自动执行此操作,因为它必须主动检测对授权表的更改。

于 2013-04-15T17:08:44.933 回答