似乎无法在MySQL控制台中创建用户(ERROR 1064(42000))

时间:2011-01-24 12:34:00

标签: mysql

现在我不是MySQL专家,但我已经使用它好了5 - 6年,我从来没有碰到过这个:

  • 我通过SSH登录我的服务器
  • 我通过mysql -u root -pSUPER_SECRET_PASSWORD
  • 登录MySQL
  • 我写道:CREATE USER 'magical_username'@'locahost' IDENTIFIED BY 'super_magical_password';

现在这是奇怪的地方。我希望查询能够正常工作,我可以继续授予权限,但是,我得到了这个:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USER 'magical_username'@'localhost' IDENTIFIED BY 'super_magical_password' at line 1

有什么想法吗?

3 个答案:

答案 0 :(得分:4)

这不是一个真正的答案,而是解决问题的方法:

事实证明,神奇的系统管理员,尽管他的智慧,认为复制MySQL的原始数据库文件而不是进行转储和导入是一个好主意。这与错误的权限和MySQL版本相结合,意味着MySQL在用户和授权方面存在很大问题,但提供数据很好(这就是为什么它看起来很奇怪)。

长话短说:重建盒子并以正确的方式导入数据:)

答案 1 :(得分:2)

我遇到了完全相同的问题。对我来说,这是因为我使用了更老的MySQL安装 - 版本4.1.20。 CREATE USER语法仅在5.x版中引入。对于较旧的4.x数据库,您需要使用类似

的内容
GRANT ALL PRIVILEGES ON horsedb.* TO 'mrhorse'@'localhost' IDENTIFIED BY 'pass123'

答案 2 :(得分:0)

等效的GRANT USAGE ON ...版本有效吗?