GRANT permission ON database TO user not working on AWS I'm having trouble granting a user permission on AWS.


mysql&gt; GRANT CREATE ON *.* TO 'hmrex_db'@'%';
Query OK, 0 rows affected (0.01 sec)

mysql&gt; SHOW GRANTS FOR 'hmrex_db'@'%';
+------------------------------------------------------------------------------+
| Grants for hmrex_db@%                                                        |
+------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'hmrex_db'@'%' IDENTIFIED BY PASSWORD &lt;secret&gt;         |
| GRANT SELECT, INSERT, UPDATE, DELETE, DROP ON `hmrex_db`.* TO 'hmrex_db'@'%' |
+------------------------------------------------------------------------------+
2 rows in set (0.00 sec)




The user I'm logged in as has GRANT ..., CREATE, ... ON *.* TO 'username'@'%' IDENTIFIED BY PASSWORD &lt;secret&gt; WITH GRANT OPTION
read_only is 0.


I can't work out why this isn't working.

I discovered I had made a typo and was setting the permission on a user that doesn't exist, however, this worked. When I fixed the typo, it still didn't work.
To user/privileges changes be reflected you need to run the following command:

FLUSH PRIVILEGES;


Then you can try SHOW GRANTS againg.