【问题标题】: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 真的没用。

标签: mysql sql


【解决方案1】:

比较documentation of GRANT in MySQL 5.7those 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
猜你喜欢
  • 1970-01-01
  • 2013-03-21
  • 1970-01-01
  • 2013-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-31
  • 1970-01-01
相关资源
最近更新 更多