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