SQL 语法应该可以工作但不能工作 可能是啥问题?

Posted

技术标签:

【中文标题】SQL 语法应该可以工作但不能工作 可能是啥问题?【英文标题】:SQL syntax should work but not working What could be the issue?SQL 语法应该可以工作但不能工作 可能是什么问题? 【发布时间】:2021-12-27 08:46:45 【问题描述】:

GRANT ALL ON *.* TO demoemployee@'1.5.6.4' IDENTIFIED BY 'my_password'

错误: 您的 SQL 语法有错误;检查与您的 mysql 服务器版本相对应的手册,以在第 1 行的“IDENTIFIED BY 'my_password'”附近使用正确的语法

我没有发现上述语法有任何问题,但它仍然无法正常工作,并在我的查询末尾添加了一个额外的 '

我已经在我的 MySQL 服务器 8.xx 和这样的在线工具上尝试过这个:https://en.rakko.tools/tools/36/

我也尝试了一些其他查询,但无法解决。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'my_password'

我应该如何解决这个问题?

【问题讨论】:

如果尚未创建用户,请先创建用户:create user 'demoemployee'@'1.5.6.4' IDENTIFIED BY 'my_password';,然后授予权限:GRANT ALL PRIVILEGES ON *.* TO 'demoemployee'@'1.5.6.4' @ErgestBasha 真的没用。 【参考方案1】:

比较documentation of GRANT in MySQL 5.7 和those of 8.0 表明不再支持身份验证特征。 5.7 版本还明确警告它们已经在 5.7 中被弃用,并且在未来的版本中可能会被删除:

注意

使用GRANT 定义帐户身份验证特征是 在 MySQL 5.7 中已弃用。相反,建立或更改身份验证 使用CREATE USERALTER USER 的特征。期待这个 GRANT 功能将在未来的 MySQL 版本中移除。

所以只需删除IDENTIFIED BY 'my_password'

【讨论】:

也不起作用。 you are not allowed to create a user with grant

以上是关于SQL 语法应该可以工作但不能工作 可能是啥问题?的主要内容,如果未能解决你的问题,请参考以下文章

查询无法正常工作(可能是语法问题)

jQuery Deferred 应该可以工作,但不能

SQL 语法异常 - 无效字符,但查询工作正常

SQL语法异常 - 无效字符,但查询工作正常

日期计算(SQL、Oracle 10g)

在局部视图上设置放置区的正确方法是啥?