1. 程式人生 > 資料庫 >mysql 的root 使用者無法授權,navicat 遠端授權提示1044解決方案

mysql 的root 使用者無法授權,navicat 遠端授權提示1044解決方案

先看解決方案

#------------mysql root 使用者無法賦權問題解決 --------
1,登入  mysql -u root -p
2,use mysql; 選擇mysql資料庫
3,執行以下操作(查詢使用者的賦權許可權,更改賦權許可權 ,重新整理生效)
mysql> select user,host,grant_priv from user;
+---------------+-----------+------------+
| user          | host      | grant_priv |
+---------------+-----------+------------+
| root          | localhost | Y          |
| mysql.session | localhost | N          |
| mysql.sys     | localhost | N          |
| root          | %         | N          |
| xc_admin      | %         | N          |
+---------------+-----------+------------+
5 rows in set (0.00 sec)

mysql> update user set grant_priv='Y' where user = 'root';'
Query OK, 1 row affected (0.00 sec)
Rows matched: 2  Changed: 1  Warnings: 0

mysql> flush privileges;#重新整理許可權
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host,grant_priv from user;
+---------------+-----------+------------+
| user          | host      | grant_priv |
+---------------+-----------+------------+
| root          | localhost | Y          |
| mysql.session | localhost | N          |
| mysql.sys     | localhost | N          |
| root          | %         | Y          |
| xc_admin      | %         | N          |
+---------------+-----------+------------+
5 rows in set (0.00 sec)

解析:通過第一個查詢語句可以看出 預設的root 在非本地許可權中的grant_priv(賦權許可權)是關閉的。

可以理解為:用root使用者在本地的機器上(安裝mysql的那臺機器)是能賦權的。其他IP賦權是預設不允許的。可能為了安全性考慮

那我們使用工具遠端建立使用者就會出現1044 程式碼。通過重新更新許可權就能解決這個問題。