リモートユーザーに特権を付与するコマンドが失敗しているため、私とチームメンバーは困惑していますが、エラーはありません。新しいユーザーはCREATEUSERを使用してmysql.userに正常に追加されましたが、GRANTPRIVILEGESの後にFLUSHPRIVILEGESが続く場合はgrantsテーブルに影響しません。これらのコマンドは両方とも、「クエリOK」と表示されるはずです。0行が影響を受けました。ただし、SHOW GRANTSは新しい特権を表示せず、指定されたリモートIPからそのユーザー名でログインすることもできません。誰かが次の動作を説明できますか?
mysql> SELECT CURRENT_USER(); ///I'm definitely in as root user
+----------------+
| CURRENT_USER() |
+----------------+
| root@localhost |
+----------------+
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 root@localhost
| 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'の権限を持つ3行目が必要です。