MYSQL中语法错误的原因未知

时间:2013-11-22 01:33:16

标签: mysql syntax grant

错误消息指出“SQL语法错误NEAR”表,alter table,...“NO ERROR NUMBER GIVEN

CREATE USER admin@localhost IDENTIFIED BY 'password';  

GRANT select, update, insert, delete, create table, alter table, drop table, 
    create index, drop index, create routine, create procedure, create function  
ON test.*   
TO admin@localhost;*  

我尝试授予的所有项目都是有效权限,但是当它到达列表中的第一个“表格”时它只是不喜欢它,我错过了什么或者是否存在冲突,我只是不这样做理解。

TIA

1 个答案:

答案 0 :(得分:0)

table不需要:

GRANT select, update, insert, delete, create, alter, drop
ON test.*  TO admin@localhost;

我不确定如何添加程序,功能权限,我会找到它。

如fvu所述,你可以找到授权权限MySQL手册。特别是对于PROCEDURE,http://dev.mysql.com/doc/refman/5.5/en/grant.html#grant-routine-privileges

已更新

我已阅读您对您问题的评论。 output is from SHOW GRANTS ...。我用谷歌搜索了它。 SHOW GRANTS的输出看起来可以直接在MySQL中运行。但它不能。 (这个事实我只是不知道。谢谢)

以及如何找到你想要的东西......你能试试吗?:

SELECT *
FROM information_schema.USER_PRIVILEGES
WHERE GRANTEE = 'user_id@hosname';

您可以看到user @ hostname的名称有哪些真正的权限...很好。但很难让GRANT ... Percona有这样一个有趣的功能:

 SELECT sql_grants
 FROM common_schema.sql_show_grants;

我发现它this question

非常感谢!我已经为你的问题学到了很多技巧!!!