Nadawanie praw do dodatkowej bazy danych MySQL powodującej problemy

Mam użytkownika ”myuser„i dwie bazy danych. 'db1' i 'db2

'myuser„ma już prawa do używaniadb1 i chciałem udzielić mu dodatkowego pozwolenia na użytkowanie ”db2„przy użyciu następującego zapytania:

GRANT ALL ON db2.* TO 'myuser'@'localhost';

Po wydaniu oświadczenia o dotacji ”myuser„utracono połączenie z pierwszą bazą danych”db1'

Obawiam się, że użyłem niewłaściwej nazwy hosta. Zamiast „localhost” powinienem użyć „%”. Kiedy robię:

 select host from mysql.user where user = 'myuser';

Teraz widzę dwa rekordy hosta'%' i 'localhost”dla tego użytkownika

Kiedy uruchamiam instrukcje SHOW GRANT, otrzymuję uprawnienia dla różnych hostów. „localhost” i „%”.

mysql> SHOW GRANTS FOR 'myuser'@'localhost';
+----------------------------------------------------------------------+
| Grants for myuser@localhost                                      |
+----------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'myuser'@'localhost'                       |
| GRANT ALL PRIVILEGES ON `beta_version`.* TO 'myuser'@'localhost' |
+----------------------------------------------------------------------+

i

mysql> SHOW GRANTS FOR 'myuser'@'%';
+-----------------------------------------------------------------------------------------------------------+
| Grants for myuser@%                                                                                   |
+-----------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'myuser'@'%' IDENTIFIED BY PASSWORD '*6ASDFASDFASDF...' 
| GRANT ALL PRIVILEGES ON `myuser`.* TO 'myuser'@'%'                                                
+-----------------------------------------------------------------------------------------------------------+

Co się stało, co spowodowało ”myuser'aby nie działać w moich skryptach PHP iw phpMyAdmin?

questionAnswers(2)

yourAnswerToTheQuestion