我已经让用户完全控制数据库中的一个表。但是,他们似乎无法删除记录。
我作为特权用户尝试过:
GRANT DELETE ON databasename.tablename TO username@'%';
flush privileges;
但是删除仍然不起作用
ERROR 1142 (42000): DELETE command denied to user 'username'@'localhost' for table 'tablename'
有任何想法吗?
干杯,
内森。
我已经让用户完全控制数据库中的一个表。但是,他们似乎无法删除记录。
我作为特权用户尝试过:
GRANT DELETE ON databasename.tablename TO username@'%';
flush privileges;
但是删除仍然不起作用
ERROR 1142 (42000): DELETE command denied to user 'username'@'localhost' for table 'tablename'
有任何想法吗?
干杯,
内森。
您的 GRANT 语句可能需要额外的用户名引号:'username'@'%'。
您可以检查用户在mysql数据库中的权限。检查表格user, db, hosts, tables_priv。
您可能有具有相同用户名和不同主机名的条目,例如 'username'@'localhost' 和 'username'@'%'。
MySQL 文档描述了 MySQL 评估这些表的顺序:
http://dev.mysql.com/doc/refman/5.1/en/request-access.html
如果您在表中有一个条目tables_priv允许用户访问DELETE,那通常就足够了。
AFAIK 你不需要FLUSH PRIVILEGES在 a 之后运行GRANT- 你只需要FLUSH使用 INSERT、DELETE 等手动修改权限表。