在开发过程中,有这样的一个需求:创建用户并授权其可以查询某个视图(mysql数据库),sql脚本如下:
GRANT USAGE ON *.* TO 'Carestream'@'%';
DROP USER 'Carestream'@'%';
CREATE USER 'Carestream'@'%' IDENTIFIED BY 'Carestream';
GRANT SELECT ON vi_CSH_KIOSK_ExamInfo TO 'Carestream'@'%';
简单的几行Sql,却执行错误,错误信息:Access denied for user 'root@127.0.0.1'(using password: YES)
PS:本机root用户,拥有至高无上的权限
针对此错误信息,开始了度娘,对网上的各种方法,进行了尝试,都没有解决,于是,请教了公司的大佬,问题解决了,在此mark一下。
此问题是和数据库的版本有关,在版本5.7.29上,找到mysql的安装路径“C:\Program Files\MySQL\MySQL Server 5.5”,找到my.ini文件,注释skip-name-resolve这一行,重启mysql服务,再次执行上面的脚本,问题解决。