O usuário não pode acessar um banco de dados
No meu script PHP, estou acessando dois bancos de dadosdb1
edb2
. Eu tenho um usuáriomyuser@localhost
que pode acessardb1
mas não consegue acessardb2
.
Ao selecionar demysql.user
tabela, há um registro e o host desse usuário é um curinga%
, não hálocalhost
hospedeiro.
SELECT user, host FROM mysql.user WHERE user = 'myuser';
Me dê:
+------------+------+
| user | host |
+------------+------+
| myuser | % |
+------------+------+
1 row in set (0.00 sec)
Olhando GRANTS para esse usuário, vejo as mesmas permissões paradb1
quanto adb2
SHOW GRANTS FOR 'myuser'@'%';
+-----------------------------------------------------------------------------------------------------------+
| Grants for myuser@% |
+-----------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'myuser'@'%' IDENTIFIED BY PASSWORD '*7733323232...' |
| GRANT ALL PRIVILEGES ON `db1`.* TO 'myuser'@'%' |
| GRANT ALL PRIVILEGES ON `db2`.* TO 'myuser'@'%' |
+-----------------------------------------------------------------------------------------------------------+
No meu script PHP eu posso acessardb1
no entanto, recebo um erro:INSERT command denied to user 'myuser'@'localhost' for table 'HISTORY'
.
Diz que o usuário émyuser@localhost
e as pessoas sugeriram adicionar permissão paramyuser@localhost
no entanto, por que esse usuário tem acesso adb1
e não paradb2
?