MySQL 8.0执行GRANT授权语句报错1064,求解决建议
解决MySQL 8.0 GRANT语句语法错误问题
问题原因
MySQL 8.0版本开始,GRANT语句不再支持附带IDENTIFIED BY子句设置密码,这是触发ERROR 1064语法错误的直接原因。旧版本(如5.x)允许在GRANT操作中直接设置密码,但8.0将用户创建/密码管理与权限授予拆分为独立操作。
解决步骤
需分两步执行SQL操作:
创建用户(或更新现有用户密码)
若keystone@localhost用户不存在,执行创建语句:CREATE USER 'keystone'@'localhost' IDENTIFIED BY 'Password123..';若用户已存在,仅更新密码:
ALTER USER 'keystone'@'localhost' IDENTIFIED BY 'Password123..';执行权限授予
使用去掉IDENTIFIED BY部分的授权语句:GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost';刷新权限(推荐)
执行命令使权限变更立即生效:FLUSH PRIVILEGES;
额外说明
你提供的[mysqld]配置项与本次语法错误无关,无需调整。
内容的提问来源于stack exchange,提问作者ilie alexandru
相关产品推荐
相关产品推荐

