sql >> Database >  >> RDS >> Mysql

Sta alle externe verbindingen toe, MySQL

Zoals Ryan hierboven aangaf, is het commando dat je nodig hebt

GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password'; 

Houd er echter rekening mee dat de documentatie aangeeft dat om dit te laten werken, een ander gebruikersaccount van localhost moet voor dezelfde gebruiker worden aangemaakt; anders wordt het anonieme account automatisch aangemaakt door mysql_install_db heeft voorrang omdat het een specifiekere hostkolom heeft.

Met andere woorden; in volgorde voor gebruiker user om vanaf elke server verbinding te kunnen maken; 2 accounts moeten als volgt worden aangemaakt:

GRANT ALL ON *.* to [email protected] IDENTIFIED BY 'password'; 
GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password'; 

Lees hier de volledige documentatie.

En hier is het relevante stuk ter referentie:

Nadat u als root verbinding heeft gemaakt met de server, kunt u nieuwe accounts toevoegen. De volgende overzichten gebruiken GRANT om vier nieuwe accounts in te stellen:

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';

De rekeningen die door deze afschriften zijn aangemaakt, hebben de volgende eigenschappen:

Twee van de accounts hebben een gebruikersnaam van monty en een wachtwoord ofsome_pass. Beide accounts zijn superuser-accounts met volledige bevoegdheden om iets te doen. Het 'monty'@'localhost'-account kan alleen worden gebruikt wanneer verbinding wordt gemaakt vanaf de lokale host. Het 'monty'@'%'-account gebruikt het '%'jokerteken voor het hostgedeelte, zodat het kan worden gebruikt om vanaf elke host verbinding te maken.

Het is noodzakelijk om beide accounts voor monty te hebben om overal als monty verbinding te kunnen maken . Zonder de localhost-account heeft de anonieme-gebruikersaccount voor localhost die is gemaakt doormysql_install_db voorrang wanneer monty verbinding maakt vanaf de lokale host. Als gevolg hiervan zou monty worden behandeld als een anonieme gebruiker. De reden hiervoor is dat het anonieme-gebruikersaccount een specifiekere hostkolomwaarde heeft dan het 'monty'@'%'-account en dus eerder in de sorteervolgorde van de gebruikerstabel komt. (Het sorteren van gebruikerstabellen wordt besproken in Paragraaf 6.2.4, "Toegangscontrole, Fase 1:Verbindingsverificatie".)



  1. Trucs voor continue verbetering van databasebewaking

  2. Hoe het verschil in jaren van twee verschillende datums te krijgen?

  3. De naam van een tabel in SQL Server wijzigen (T-SQL)

  4. Plannen van schijfruimte voor databases