Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> PHP /MySQL Programmering >> Content
Hoe maak je een openbare gebruiker aan waarvoor een wachtwoord nodig is om de database in MySQL te bekijken?
Zo maakt u een openbare gebruiker in MySQL met wachtwoordverificatie, specifiek voor alleen-lezen toegang tot een database:

1. Maak verbinding met MySQL als een bevoorrechte gebruiker:

Eerst moet u verbinding maken met uw MySQL-server als gebruiker met beheerdersrechten (zoals `root`). Gebruik de MySQL-client:

``` bash

mysql -u root-p

```

Voer het rootwachtwoord in wanneer daarom wordt gevraagd.

2. Maak de gebruiker aan:

Gebruik de instructie `CREATE USER` om de nieuwe gebruiker aan te maken. Vervang `'public_user'` en `'your_password'` door uw gewenste gebruikersnaam en wachtwoord. De clausule `IDENTIFIED BY` stelt het wachtwoord van de gebruiker in. De `%` betekent van elke host.

```sql

MAAK GEBRUIKER 'public_user'@'%' GEIDENTIFICEERD DOOR 'uw_wachtwoord';

```

Belangrijke veiligheidsopmerking: Door `'%'` te gebruiken, kan de gebruiker verbinding maken vanaf *elke* host. Dit is om veiligheidsredenen vaak *geen* een goed idee. Als u weet dat de gebruiker alleen verbinding zal maken vanaf een specifiek IP-adres of hostnaam, vervang dan `'%'` door dat adres (bijvoorbeeld `'public_user'@'192.168.1.100'` of `'public_user'@'uwdomein.com'`). Bijvoorbeeld:

```sql

MAAK GEBRUIKER 'public_user'@'192.168.1.100' GEIDENTIFICEERD DOOR 'uw_wachtwoord';

```

Hierdoor zou de gebruiker alleen verbinding kunnen maken vanaf het IP-adres `192.168.1.100`.

3. Alleen-lezen-rechten verlenen:

Gebruik de `GRANT`-instructie om de gebruiker alleen-lezen toegang te geven tot de specifieke database. Vervang `uw_database` door de naam van de database waartoe u toegang wilt verlenen.

```sql

VERLEEN SELECTIE OP uw_database.* AAN 'public_user'@'%';

```

* `SELECT`:Hiermee kan de gebruiker gegevens uit tabellen in de database lezen.

* `uw_database.*`:Specificeert dat het privilege van toepassing is op alle tabellen binnen `uw_database`.

* `TO 'public_user'@'%'`:Specificeert de gebruiker en host waarvoor het privilege wordt verleend.

4. Spoelrechten:

Nadat u privileges heeft verleend, moet u de privilegetabellen leegmaken om de wijzigingen door te voeren.

```sql

SPOEL PRIVILEGES;

```

5. Sluit MySQL af:

```sql

Uitgang;

```

Volledig voorbeeld:

``` bash

mysql -u root -p # Verbinden als root

Voer uw rootwachtwoord in wanneer daarom wordt gevraagd

MAAK GEBRUIKER 'public_user'@'%' GEIDENTIFICEERD DOOR 'MySecurePassword123!';

VERLEEN SELECTIE OP uw_database.* AAN 'public_user'@'%';

SPOEL PRIVILEGES;

Uitgang;

```

Uitleg en belangrijke overwegingen:

* `GEBRUIKER MAKEN`: Creëert een nieuw MySQL-gebruikersaccount.

* `GRANT`: Wijst specifieke machtigingen (privileges) toe aan een gebruiker.

* `SPOEL PRIVILEGES`: Laadt de subsidietabellen opnieuw. Dit is *essentieel* na het aanbrengen van wijzigingen in de gebruikersrechten; anders worden de wijzigingen mogelijk niet onmiddellijk van kracht.

* `GEIDENTIFICEERD DOOR`: Stelt het wachtwoord van de gebruiker in. Kies een sterk wachtwoord!

* Beste praktijken op het gebied van beveiliging:

* Hosttoegang beperken: Zoals gezegd, vermijd indien mogelijk het gebruik van `'%'` voor de host. Beperk de gebruiker om alleen verbinding te maken vanaf bekende en vertrouwde IP-adressen.

* Privilegeprincipe: Verleen alleen de minimale rechten die de gebruiker nodig heeft. In dit geval is `SELECT` voldoende voor alleen-lezen toegang. Vermijd het verlenen van 'ALLE PRIVILEGES', tenzij dit absoluut noodzakelijk is.

* Wachtwoordcomplexiteit: Dwing een sterk wachtwoordbeleid af. Gebruik een combinatie van hoofdletters en kleine letters, cijfers en symbolen. Overweeg het gebruik van de wachtwoordvalidatieplug-in van MySQL voor een sterkere wachtwoordhandhaving.

* SSL/TLS: Voor productieomgevingen moet u de verbindingen tussen de client en de MySQL-server altijd coderen met SSL/TLS om het wachtwoord en de gegevens die via het netwerk worden verzonden te beschermen.

* Alternatieve rechten: In plaats van `SELECT` toe te kennen aan de gehele database (`uw_database.*`), kunt u `SELECT` alleen aan specifieke tabellen toekennen:

```sql

VERLEEN SELECTIE OP uw_database.table1 AAN 'public_user'@'%';

VERLEEN SELECTIE OP uw_database.table2 AAN 'public_user'@'%';

```

Dit is zelfs nog veiliger, omdat het de toegang beperkt tot alleen de benodigde tabellen.

* Controle: Overweeg om de auditlogboekregistratie van MySQL in te schakelen om bij te houden wie toegang heeft tot de database en welke query's ze uitvoeren.

Verbinding maken met de nieuwe gebruiker:

Verbinding maken met de nieuwe gebruiker:

``` bash

mysql -u public_user -p -h jouw_mysql_host -D jouw_database

```

* `-u public_user`:Specificeert de gebruikersnaam.

* `-p`:vraagt ​​om het wachtwoord.

* `-h your_mysql_host`:Specificeert de hostnaam of het IP-adres van uw MySQL-server. Als u verbinding maakt vanaf dezelfde machine, kunt u dit vaak achterwege laten of `localhost` of `127.0.0.1` gebruiken.

* `-D your_database`:Specificeert de database waarmee verbinding moet worden gemaakt.

Nadat u deze opdracht hebt uitgevoerd, wordt u gevraagd het wachtwoord van de `public_user` in te voeren.

Door deze stappen te volgen en de beveiligingsaanbevelingen in acht te nemen, kunt u op een veilige en gecontroleerde manier een openbare gebruiker met alleen-lezen toegang tot uw MySQL-database aanmaken. Geef altijd prioriteit aan beveiliging bij het verlenen van toegang tot uw gegevens.

Previous: Next:
  PHP /MySQL Programmering
·Help met PHP en compilatie mis…
·Hoe kan ik PHP code gebruiken …
·Tutorial voor MySQL in Scala 
·Afdrukken in iFrame met PHP 
·Hoe maak je een PHP Progress B…
·Hoe maak je een schuine streep…
·Hoe je alle variabelen vastleg…
·Hoe kan ik een Word Vervang in…
·MySQL : Queryreeksfilter naar …
  Related Articles
Waarom gebruiken we functies bij het pro…
Welke rol speelt een tolk bij het progra…
Wat is de rol van een compiler bij compu…
Wat is het doel van een voorwaardelijke …
Wat is de hiërarchie van programmeertal…
Wat is de analoge definitie in de inform…
Wat is redex en hoe verhoudt dit zich to…
Wat is assembleertaal en hoe wordt het g…
Wat is assemblagecode en hoe wordt deze …
  Programmering Articles
·Hoe de knop Berekenen Programmeer in Vb.…
·Hoe je Python 2.7 Uitvoeren Van Notepad 
·Wat is Multiple Inheritance in Java ? 
·Hoe te compileren MySQL Workbench op Cen…
·Hoe maak je een Floating Box Build 
·Hoe maak je een Java- broncode te zetten…
·Hoe maak je een gelinkte lijst in Java s…
·Hoe te Geodatabases Lock 
·Hoe maak je meerdere sjablonen uitbreide…
Copyright © Computer Kennis https://www.nldit.com