2011-08-18 105 views
0

我有我写的这个.sql脚本,其中包括创建数据库,创建表,创建过程和设置用户。在SQL脚本中创建用户时出现错误1133?

这里是它的一个片段:

DELETE FROM mysql.user WHERE User = 'fwtrRWW'; 
DELETE FROM mysql.user WHERE User = 'fwtrRW'; 
DELETE FROM mysql.user WHERE User = 'fwtrR'; 

FLUSH PRIVILEGES; 

CREATE USER 'fwtrRWW'@'localhost' IDENTIFIED BY 'abc123'; 
CREATE USER 'fwtrRW'@'localhost' IDENTIFIED BY 'abc213'; 
CREATE USER ' fwtrR'@'localhost' IDENTIFIED BY 'qwerty'; 

FLUSH PRIVILEGES; 

GRANT ALL     ON fwtr.* TO 'fwtrRWW'; 
GRANT SELECT, INSERT, UPDATE ON fwtr.* TO 'fwtrRW'; 
GRANT SELECT     ON fwtr.* TO 'fwtrR'; 

我不断收到MySQL错误1133:无法找到在user表任何匹配行,尽管SELECT * FROM mysql.User清楚地表明,互联网用户那里。

我试过在这里和那里放置更多的FLUSH PRIVILEGES,但它似乎不像其他论坛上的其他人那样有帮助。

任何想法可能是错误的?

+2

添加@“localhost”的在你的GRANT语句的用户名? –

+1

尝试'DROP USER'而不是直接访问users表:'DROP USER'fwtrRWW'@'localhost'' – arnep

回答

2

我想你只需要改变你的GRANT语句:

GRANT ALL     ON fwtr.* TO 'fwtrRWW'@'localhost'; 
GRANT SELECT, INSERT, UPDATE ON fwtr.* TO 'fwtrRW'@'localhost'; 
GRANT SELECT     ON fwtr.* TO 'fwtrR'@'localhost';