Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zezwalaj na wszystkie połączenia zdalne, MySQL

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”).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySqlCommand Command.Parameters.Add jest przestarzały

  2. gem mysql2 skompilowany dla niewłaściwej biblioteki klienta mysql

  3. Jak mogę pozbyć się tych komentarzy ze zrzutu MySQL?

  4. Alternatywy MySQL Workbench — GUI typu „wskaż i kliknij” ClusterControl

  5. MySQL - jak z przodu pad kod pocztowy z 0?