MySQL traktuje loginy jako specyficzne dla hosta, z którego pochodzą. Możesz mieć inne hasło z komputera domowego niż to, którego używasz na samym serwerze, i możesz mieć zupełnie różne zestawy uprawnień przyznanych tej samej nazwie użytkownika z różnych hostów pochodzenia.
W PHPMyadmin baza danych działa na tym samym serwerze co serwer sieciowy i dlatego odnosi się do siebie jako localhost
, z adresem IP 127.0.0.1
. Twój komputer, na którym zainstalowany jest Workbench, musi uzyskiwać dostęp do MySQL z innymi danymi uwierzytelniającymi niż Twój [email protected]
. Serwer wymaga przyznania dostępu do swojej nazwy użytkownika z dowolnego hosta, z którego zamierzasz się połączyć.
W PhpMyAdmin będziesz musiał przyznać dostęp do swojej bazy danych ze zdalnego hosta:(Zobacz także odpowiedź Pekki, jak zezwolić na połączenia z dowolnego gospodarz)
GRANT ALL PRIVILEGES on dbname.* TO [email protected]_remote_hostname IDENTIFIED BY 'yourpassword';
Aby zobaczyć wszystkie granty, które aktualnie masz na localhost
aby można było je powielić na zdalnym hoście:
SHOW GRANTS FOR [email protected];
Dodatkowo serwer MySQL musi być skonfigurowany tak, aby w pierwszej kolejności akceptował połączenia zdalne. Nie zawsze tak jest, zwłaszcza na platformach hostingowych. W my.cnf
plik skip-networking
wiersz musi zostać usunięty lub zakomentowany. Jeśli nie ma skip-networking
wiersz, musisz zakomentować wiersz:
bind-address = 127.0.0.1
...następnie uruchom ponownie MySQL.