我和一個團隊成員被阻止,因爲授予遠程用戶權限的命令失敗,但沒有錯誤。新用戶使用CREATE USER成功添加到mysql.user,但GRANT PRIVILEGES後跟FLUSH PRIVILEGES不影響授權表。這兩個命令應該說'查詢OK。 0行受影響,'他們這樣做。但是,然後SHOW GRANTS不會顯示新的權限,我們也不能從指定的遠程IP使用該用戶名登錄。任何人都可以解釋以下行爲嗎?MySQL:授予權限後跟Flush權限沒有效果,沒有錯誤(以root身份登錄)
mysql> SELECT CURRENT_USER(); ///I'm definitely in as root user
+----------------+
| CURRENT_USER() |
+----------------+
| [email protected] |
+----------------+
1 row in set (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myNewUser'@'remoteIP'; //grant to existing user
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GRANTS;
| Grants for [email protected]
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*////TakenOut///' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
2 rows in set (0.00 sec)
我期待第三行有'myNewUser'特權。
哈哈所以這個有點明顯,但萬一別人有同樣的問題: SHOW GRANTS;顯示當前用戶的資助,而不是所有用戶。命令SHOW GRANTS FOR'myNewUser'@'remoteIP'顯示了預期的結果。 。 。 。我的問題意味着與網絡,而不是MySQL。 – devney
如果您的my.cnf文件中沒有指定'skip-name-resolve',請確保您可以將該IP地址解析爲主機名。 – spencer7593