MySQL8.x使用GRANT为用户赋权时报错如何解决
这篇“MySQL8.x使用GRANT为用户赋权时报错如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL8.x使用GRANT为用户赋权时报错如何解决”文章吧。
MySQL8.x使用GRANT为用户赋权时报错
问题描述
在安装 MySQL 8.x 的过程中,往往需要为 MySQL 中的一些账户赋予远程访问的权限。
在 MySQL 5.x 的版本中的操作方式
GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'123456'WITHGRANTOPTION;
在 MySQL 8.x 中版本中按照以上操作
mysql>GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'123456'WITHGRANTOPTION;ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'IDENTIFIEDBY'123456'WITHGRANTOPTION'atline1
原因分析
通过官网文档的指引可以知道,新版本的 MySQL 8.x 版本已经将创建账户和赋权的方式分开导致以上的命令在 MySQL 8.x 上执行报语法错误。
解决方案
最终解决方案
#创建账户CREATEUSER'用户名'@'访问主机'IDENTIFIEDBY'密码';#为创建的账户赋权GRANT'权限列表'ON'数据库'TO'用户名'@'访问主机';GRANTALLON*.*TO'root'@'%';#刷新FLUSHPRIVILEGES;
mysql版本:'for the right syntax to use near 'identified by 'password' with grant option'
查询mysql具体版本
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
出错的语句:
grantallprivilegeson*.*to'root'@'172.16.10.203'identifiedby'password'withgrantoption
修正后的语句:分开三次执行
#创建账户createuser'root'@'172.16.10.203'identifiedby'password'#赋予权限,withgrantoption这个选项表示该用户可以将自己拥有的权限授权给别人grantallprivilegeson*.*to'root'@'172.16.10.203'withgrantoption#改密码&授权超用户,flushprivileges命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里flushprivileges;
原因分析:
此版的的mysql版本把将创建账户和赋予权限分开了。
创建账户::createuser‘用户名'@‘访问主机'identifiedby‘密码';赋予权限:grant权限列表on数据库to‘用户名'@‘访问主机';withgrantoption这个选项表示该用户可以将自己拥有的权限授权给别人
以上就是关于“MySQL8.x使用GRANT为用户赋权时报错如何解决”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注主机评测网行业资讯频道。
上一篇:C++报错:Id?returned?1exit?status如何解决
winlogins.exe是什么文件?winlogins.exe是不是病毒
winsock2.6.exe是什么文件?winsock2.6.exe是不是病毒
WinDefendor.dll是什么文件?WinDefendor.dll是不是病毒
系统目录是什么文件?系统目录是不是病毒
wholove.exe是什么文件?wholove.exe是不是病毒
winn.ini是什么文件?winn.ini是不是病毒
w6oou.dll是什么文件?w6oou.dll是不是病毒
winduxzawb.exe是什么文件?winduxzawb.exe是不是病毒
wuammgr32.exe是什么文件?wuammgr32.exe是不是病毒
windiws.exe是什么文件?windiws.exe是不是病毒