我的原因是在配置文件my.ini [mysqld]项,在其后加入了一句:skip-name-resolve
导致授权出现这个错误,把skip-name-resolve这项屏蔽了就好了。
场景2:对所有库所有表(*.*)授权时出现:ERROR 1045 (28000): Access denied for user 'root'@'127.0.0.1' (using password: YES)
解决方法:
方法一:
把 对所有库所有表(*.*)授权,改为对指定数据库授权(quant.*)。
方法二:
1. Navicat 连接数据库,打开 mysql 库下面的 user 表:
2. 右键单击选中 user 表中 localhost 记录,复制为 Insert 语句:
3. 新建查询,复制 2 中的 Insert 语句, 将 localhost 改为你要授权的ip,然后执行语句。
user表的权限列包括Select_priv、Insert_priv等以priv结尾的字段。
这些字段的值只有Y和N。Y表示该权限可以用到所有数据库上;N表示该权限不能用到所有数据库上。
mysql>flush privileges;
具体参见:https://www.cnblogs.com/kissdodog/p/4173337.html