MySQL创建数据库并授予用户权限时出现ERROR 1064语法错误怎么解决
报错原因
- 核心语法不兼容:MySQL 8.0及以上版本已经废弃了在
GRANT语句中同时使用IDENTIFIED BY子句设置密码的语法,旧版本的「创建用户+设置密码+授予权限」合并操作写法在高版本MySQL中会直接触发1064语法错误。 - 可选拼写错误:你授权语句里写的主机地址
localost存在拼写错误,正确拼写为localhost,拼写错误会导致后续用户无法正常通过本地socket登录。
解决步骤
- 先单独创建对应用户并设置密码(如果对应主机的用户已经存在可跳过本步)
-- 创建localhost本地登录的用户 CREATE USER 'user'@'localhost' IDENTIFIED BY '你的自定义密码'; -- 创建127.0.0.1本地IP登录的用户 CREATE USER 'user'@'127.0.0.1' IDENTIFIED BY '你的自定义密码';
- 单独给用户授予Quizzie数据库的操作权限
GRANT ALL PRIVILEGES ON Quizzie.* TO 'user'@'localhost'; GRANT ALL PRIVILEGES ON Quizzie.* TO 'user'@'127.0.0.1';
- 刷新权限使配置立即生效
FLUSH PRIVILEGES;
内容的提问来源于stack exchange,提问作者IcanCode
相关产品推荐
相关产品推荐

