我的原因是在配置文件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