MySQL8.x使用GRANT为用户赋权时报错的解决

吾爱主题 阅读:171 2023-04-28 17:38:00 评论:0

MySQL8.x使用GRANT为用户赋权时报错

问题描述

在安装 MySQL 8.x 的过程中,往往需要为 MySQL 中的一些账户赋予远程访问的权限。

在 MySQL 5.x 的版本中的操作方式

?
1 GRANT ALL PRIVILEGES ON *.* TO 'root' @ '%' IDENTIFIED BY '123456' WITH GRANT OPTION ;

在 MySQL 8.x 中版本中按照以上操作

?
1 2 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root' @ '%' IDENTIFIED BY '123456' WITH GRANT OPTION ; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY ' 123456 ' WITH GRANT OPTION' at line 1

原因分析

通过官网文档的指引可以知道,新版本的 MySQL 8.x 版本已经将创建账户和赋权的方式分开导致以上的命令在 MySQL 8.x 上执行报语法错误。

解决方案

最终解决方案

?
1 2 3 4 5 6 7 # 创建账户 CREATE USER '用户名' @ '访问主机' IDENTIFIED BY '密码' ; # 为创建的账户赋权 GRANT '权限列表' ON '数据库' TO '用户名' @ '访问主机' ; GRANT ALL ON *.* TO 'root' @ '%' ; # 刷新 FLUSH PRIVILEGES ;

mysql版本:'for the right syntax to use near 'identified by 'password' with grant option'

查询mysql具体版本

?
1 SELECT @@VERSION

问题分析:

mysql版本8.0.13,在给新用户授权时,发生了变化:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by  'password' with grant option' at line 5, Time: 0.000000s

出错的语句:

?
1 grant all privileges on *.* to 'root' @ '172.16.10.203' identified by   'password' with grant option

修正后的语句:分开三次执行

?
1 2 3 4 5 6 #创建账户 create user 'root' @ '172.16.10.203' identified by   'password' #赋予权限, with grant option 这个选项表示该用户可以将自己拥有的权限授权给别人 grant all privileges on *.* to 'root' @ '172.16.10.203' with grant option #改密码&授权超用户,flush privileges 命令本质上的作用是将当前 user 和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里 flush privileges ;

原因分析:

此版的的mysql版本把将创建账户和赋予权限分开了。

?
1 2 3 创建账户:: create user ‘用户名 '@‘访问主机' identified by ‘密码 '; 赋予权限:grant 权限列表 on 数据库 to ‘用户名' @‘访问主机' ; with grant option 这个选项表示该用户可以将自己拥有的权限授权给别人

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/Rambo_Yang/article/details/108619013

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容