MySQL 权限,允许/禁止

标签 mysql database privileges

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

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

今天,我设置了权限

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

我不仅看到了“testdb”,而且还看到了表“test” - 我不应该看到。当我进入数据库“testdb”时,我无法创建表。它说

CREATE command denied to user 'ttt'@'localhost' for table 'ttbl'

SQL命令:

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

我认为我缺少此特权的某些点,但我仍然无法弄清楚出了什么问题。

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

谢谢

最佳答案

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

flush privileges;

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

关于MySQL 权限,允许/禁止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16020839/

相关文章:

MySQL-插入零日期而不是默认日期

database - Liquibase 回滚不是智能确定语句执行的顺序。那是对的吗?

MACOSX : how to start daemon which need root privileges from cocoa application

php - 为什么不使用网站内置的 MySQL 用户和权限?

php - 更改默认网站语言

mysql - 对这个简单的 INNER JOIN 查询有疑问吗?

php - 从 php now() 检查 mySql 日期时间是否早于 1 天

database - 无法解码 Oracle RAW 数据中的所有信息

java - 使用Java从数据库中动态获取记录

mysql - 无法连接到 mysql 127.0.0.1 但可以连接到本地主机