You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby on Rails连接MySQL时报错:SQL语法错误(ERROR 1064)

解决MySQL授权语句中IDENTIFIED BY的语法错误问题

嘿,这个问题我之前在配置Rails连接MySQL的时候也碰到过!你的报错是因为MySQL 8.0及以上版本已经不支持在GRANT语句里同时使用IDENTIFIED BY来创建用户了——这是MySQL版本升级后的语法变化,老版本(比如5.x)允许这么写,但新版本把「创建用户」和「授权」拆成了两个独立的操作。

你原来执行的语句是:

GRANT ALL PRIVILEGES ON `simple_development`.* TO 'rails_user'@'localhost' IDENTIFIED BY 'PASSWORD';

得到的错误提示是:

ERROR 1064 (42000):SQL语法有误;请查阅对应MySQL服务器版本的手册,获取在第1行'IDENTIFIED BY "Password"'附近使用的正确语法

正确的操作步骤

你需要分两步来完成:

  • 第一步:先创建用户(如果这个用户还不存在的话)
CREATE USER 'rails_user'@'localhost' IDENTIFIED BY 'PASSWORD';
  • 第二步:给这个用户授予指定数据库的全部权限
GRANT ALL PRIVILEGES ON `simple_development`.* TO 'rails_user'@'localhost';
  • 最后别忘了刷新权限,让设置立即生效
FLUSH PRIVILEGES;

如果rails_user这个用户已经存在了,直接跳过第一步,执行授权和刷新权限的操作就可以啦。这样就能顺利完成Rails用户的数据库授权,解决你的语法错误问题~

内容的提问来源于stack exchange,提问作者Gediyaj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:21:10