MariaDB执行GRANT赋权时报Access denied和1064语法错误怎么解决
错误原因
- 第一个
Access denied报错:你当前登录MySQL的用户eligooch本身没有为其他用户分配权限的权限,无法执行GRANT操作 - 第二个语法报错:
sudo是Linux系统级命令,只能在操作系统终端中使用,不能直接写在MySQL终端的SQL语句里,不符合SQL语法规范
正确操作步骤
- 先退出当前的MySQL终端,执行SQL命令:
exit
- 回到操作系统终端后,使用有管理员权限的MySQL账号(通常为root账号)登录MySQL,执行命令:
sudo mysql -u root -p
输入操作系统用户的sudo密码后,再输入MySQL root账号的密码即可登录。如果你的MariaDB配置了Unix Socket认证,执行上述命令后无需输入MySQL root密码可直接登录。
3. 登录成功后,重新执行赋权语句:
GRANT INSERT ON *.* TO 'webuser'@'localhost';
如果仅需要给该用户开放指定数据库的INSERT权限,建议替换*.*为目标数据库名.*,权限管控更安全。
4. 执行权限刷新命令让配置生效:
FLUSH PRIVILEGES;
验证操作
你可以切换为webuser账号登录MySQL,执行对应插入操作,确认权限已正常分配即可。
内容的提问来源于stack exchange,提问作者Eli Gooch
相关产品推荐
相关产品推荐

