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 USER
或ALTER USER
的特征。期待这个GRANT
功能将在未来的 MySQL 版本中移除。
所以只需删除IDENTIFIED BY 'my_password'
。
【讨论】:
也不起作用。you are not allowed to create a user with grant
以上是关于SQL 语法应该可以工作但不能工作 可能是啥问题?的主要内容,如果未能解决你的问题,请参考以下文章