现在我不是MySQL专业人士了,但我已经用了5-6年了,我从来没有遇到过这样的情况:
我通过SSH登录到我的服务器,通过mysql -u root -pSUPER_SECRET_PASSWORD
CREATE USER 'magical_username'@'locahost' IDENTIFIED BY 'super_magical_password';登录到MySQL
现在这就是奇怪的地方。我希望查询能够正常工作,我可以继续授予权限,但是,我得到了以下结果:
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
有什么想法吗?
发布于 2011-01-26 10:50:39
这并不是真正的答案,而是解决问题的方法:
事实证明,神奇的系统管理员,在他的所有智慧,认为是一个好主意,复制MySQL的原始DB文件,而不是做转储和导入。这再加上不正确的权限和MySQL版本,意味着MySQL在用户和授予方面有很大的问题,但是提供数据是很好的(这就是为什么看起来很奇怪)。
长话短说:重建盒子并以正确的方式导入数据:)
发布于 2012-02-01 12:56:26
我也遇到过同样的问题。对我来说,这是因为我使用的是一个更老的MySQL安装版本4.1.20。CREATE用户语法仅在5.x版本中引入。对于较旧的4.x数据库,您需要使用以下内容
GRANT ALL PRIVILEGES ON horsedb.* TO 'mrhorse'@'localhost' IDENTIFIED BY 'pass123'发布于 2011-01-24 12:37:41
等效的GRANT USAGE ON ...版本能工作吗?
https://stackoverflow.com/questions/4782002
复制相似问题