Jak wskazał Ryan powyżej, potrzebne polecenie to
GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password';
Należy jednak pamiętać, że dokumentacja wskazuje, że aby to zadziałało, inne konto użytkownika z localhost
musi być utworzony dla tego samego użytkownika; w przeciwnym razie anonimowe konto utworzone automatycznie przez mysql_install_db
ma pierwszeństwo, ponieważ ma bardziej szczegółową kolumnę hosta.
Innymi słowy; w celu dla użytkownika user
aby móc łączyć się z dowolnego serwera; Należy utworzyć 2 konta w następujący sposób:
GRANT ALL ON *.* to [email protected] IDENTIFIED BY 'password';
GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password';
Przeczytaj pełną dokumentację tutaj.
A oto odpowiedni fragment w celach informacyjnych:
Po połączeniu się z serwerem jako root możesz dodawać nowe konta. Poniższe zestawienia wykorzystują GRANT do założenia czterech nowych kont:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
mysql> CREATE USER 'admin'@'localhost';
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> CREATE USER 'dummy'@'localhost';
Konta utworzone za pomocą tych wyciągów mają następujące właściwości:
Dwa z kont mają nazwę użytkownika monty i hasło ofsome_pass. Oba konta są kontami superużytkowników z pełnymi uprawnieniami do robienia czegokolwiek. Konta 'monty'@'localhost' można używać tylko podczas łączenia się z hosta lokalnego. Konto 'monty'@'%' używa symbolu wieloznacznego '%' dla części hosta, więc może być używane do łączenia się z dowolnego hosta.
Konieczne jest posiadanie obu kont, aby monty mógł łączyć się z dowolnego miejsca, tak jak monty . Bez konta hosta lokalnego konto anonimowego użytkownika dla hosta lokalnego utworzone przez mysql_install_db miałoby pierwszeństwo, gdy monty łączy się z hosta lokalnego. W rezultacie monty będzie traktowany jako użytkownik anonimowy. Powodem tego jest to, że konto anonimowego użytkownika ma bardziej konkretną wartość kolumny Host niż konto „monty”@„%”, a zatem pojawia się wcześniej w kolejności sortowania tabeli użytkowników. (sortowanie tabeli użytkowników zostało omówione w rozdziale 6.2.4, „Kontrola dostępu, etap 1:Weryfikacja połączenia”).