sql >> Database >  >> RDS >> Mysql

Verbinding maken met MySQL-databases


Inleiding

Een van de eerste dingen waar u aan moet denken als u met een MySQL-database werkt, is hoe u verbinding kunt maken met en kunt communiceren met de database-instantie. Dit vereist coördinatie tussen de databaseclient - het onderdeel dat u gebruikt om met de database te communiceren, en de databaseserver - de eigenlijke MySQL-instantie die uw gegevens opslaat, organiseert en toegang geeft tot uw gegevens.

Daarom moet u weten hoe u als klant verbinding kunt maken door de vereiste informatie te verstrekken om te verifiëren. In deze handleiding bespreken we hoe u verbinding kunt maken met een MySQL-database met behulp van de native mysql opdrachtregelclient — een van de meest gebruikelijke en nuttige manieren om met een database-instantie te communiceren.

In een begeleidende gids kunt u ontdekken hoe u de authenticatie van MySQL kunt configureren om aan de behoeften van uw project te voldoen. Overweeg om beide handleidingen te lezen voor een vollediger beeld van hoe authenticatie werkt in MySQL.



Basisinformatie over de mysql klant

De mysql client is de standaardopdrachtregelclient en SQL-shell voor MySQL. Je kunt het interactief gebruiken om een ​​shell-sessie met je server te spawnen of je kunt het SQL-bestanden invoeren om te draaien zonder tussenkomst van de gebruiker. Het is vooral handig bij het implementeren van configuratie-opties en het instellen van uw omgeving. Interactieve verkenning en ad-hocquery's zijn ook zeer geschikt voor het ontwikkelen van de toegangspatronen die uw programma's zullen gebruiken.

De manier om verbinding te maken met en te authenticeren met een MySQL-server hangt af van de configuratie van uw server. In de volgende secties zullen we enkele van de basisverbindingsopties bespreken. Voor de duidelijkheid maken we onderscheid tussen lokale en externe verbindingen:

  • lokale verbinding :een verbinding waarbij de client en de MySQL-instantie zich op dezelfde server bevinden
  • verbinding op afstand :waar de client verbinding maakt met een voor het netwerk toegankelijke MySQL-instantie die op een andere computer wordt uitgevoerd

Laten we beginnen met het verbinden met een database vanaf dezelfde computer.



Verbinding maken met een lokale database met mysql

Zonder enige argumenten, de mysql opdracht probeert verbinding te maken met een Unix-socketbestand om toegang te krijgen tot een lokale database. Gewoonlijk wordt de standaardlocatie van het socketbestand bepaald door een configuratiebestand of door een gecompileerde standaardwaarde. Standaard wordt de gebruikersnaam van uw besturingssysteem gebruikt om te proberen verbinding te maken met de database.

Dus als uw huidige gebruiker een geldige MySQL-gebruiker is in uw lokale database, kunt u proberen verbinding te maken door te typen:

mysql

Als het account bestaat en geen wachtwoord vereist of als MySQL-socketverificatie is geconfigureerd voor het account, wordt u automatisch aangemeld. Als de gebruikersnaam niet bestaat in MySQL of als een wachtwoord of aanvullende authenticatie vereist is, zal de opdracht mislukken.

Om te bepalen hoe mysql probeert in te loggen op de database, geef extra informatie door met je commando met behulp van commandoregelopties:

  • --user=<username> of -u <username> :specificeert de MySQL-gebruiker waarmee moet worden geverifieerd.
  • --password of -p :vertelt MySQL om een ​​wachtwoord voor de MySQL-gebruiker te vragen.
  • --host=127.0.0.1 of -h 127.0.0.1 :vertelt mysql om verbinding te maken met de lokale MySQL-instantie met behulp van het lokale TCP-loopback-adres in plaats van een Unix-socket. Dit is belangrijk om te gebruiken als uw MySQL-server niet is geconfigureerd om Unix-sockets te gebruiken.

Opmerking: MySQL interpreteert 127.0.0.1 anders dan het doet localhost . Specificeren van 127.0.0.1 geeft aan dat u een TCP-verbinding wilt gebruiken, terwijl localhost zorgt ervoor dat MySQL probeert een Unix-socket te gebruiken om verbinding te maken met de lokale database.

Dus als u moet inloggen als de MySQL-gebruiker eva met een wachtwoord, maar nog steeds de Unix-socket gebruiken om verbinding te maken, zou je kunnen typen:

mysql --user=eva --password

De mysql client zal u om een ​​wachtwoord voor het account vragen.

Als u wilt inloggen met dezelfde gebruikersnaam maar via een TCP-verbinding met de lokale database, typt u in plaats daarvan:

mysql --user=eva --password --host=127.0.0.1

De standaard authenticatieconfiguratie en de initiële beheerdersgebruikersnaam en -wachtwoord kunnen verschillen, afhankelijk van hoe MySQL is geïnstalleerd. Veel methoden stellen MySQL echter in om een ​​Unix-socket te gebruiken en bevatten een standaard root gebruiker als het beheerdersaccount.

In deze gevallen kunt u inloggen op de database als de root gebruiker door te typen:

mysql --user=root --password

U wordt gevraagd om het beheerderswachtwoord dat tijdens de installatie is geselecteerd of gegenereerd om door te gaan.

Met al deze methoden kunt u verbinding maken met een lokale MySQL-database.



Verbinding maken met een externe database

Als u verbinding wilt maken met een externe MySQL-database, moet u de netwerklocatie van de externe host opgeven en mogelijk aanvullende informatie toevoegen.

De beschikbare verificatiemethoden variëren op basis van de configuratie van de MySQL-instantie. Meestal moet u echter de volgende parameters opgeven om te verifiëren:

Optie Beschrijving
--host= of -h De netwerkhostnaam of het IP-adres van de MySQL-server.
--port= of -P De netwerkpoort waarop de MySQL-server draait. Als de server poort 3306 gebruikt, de standaard MySQL-poort, kan deze parameter worden weggelaten.
--user= of -u De database-gebruikersnaam waarmee u verbinding wilt maken. Indien niet opgegeven, wordt de gebruikersnaam van uw besturingssysteem gebruikt.
--password of -p Geef aan dat u een wachtwoord wilt opgeven voor het opgegeven account. De mysql client zal u om het wachtwoord vragen zodra u op Enter . drukt .
MySQL-database De naam van de MySQL-database waartoe u toegang wilt. Indien niet gespecificeerd, mysql zal verbinding maken met de server zonder verbinding te maken met een specifieke database.

Het basisformaat om verbinding te maken met een externe database ziet er meestal ongeveer zo uit:

mysql --host=<hostname> --port=<port> --user=<user> --password <database>

Na het indrukken van Enter , de mysql client zal u om het wachtwoord vragen. Als u met succes authenticeert, wordt een nieuwe interactieve MySQL-sessie gestart.

We kunnen ons bijvoorbeeld voorstellen dat we verbinding willen maken met een database met de volgende vereisten:

  • hostnaam:myhost
  • poort:1234
  • database:applicationdb
  • gebruikersnaam:myapplicationuser
  • wachtwoord:mypass

Bellen mysql met de volgende opties kunt u authenticeren:

mysql --host=myhost --port=1234 --user=myapplicationuser --password applicationdb

Als u op enter drukt, wordt u om een ​​wachtwoord gevraagd waarmee u zich kunt verifiëren met mypass .



De authenticatieconfiguratie van een MySQL-server aanpassen

Als u de regels wilt wijzigen die bepalen hoe gebruikers zich kunnen verifiëren bij uw MySQL-instanties, kunt u dit doen door de configuratie van uw server aan te passen. In dit artikel leest u hoe u de authenticatieconfiguratie van MySQL kunt wijzigen.



Conclusie

In deze handleiding hebben we MySQL-authenticatie vanaf de clientzijde behandeld. We hebben laten zien hoe de mysql . te gebruiken opdrachtregelclient om verbinding te maken met zowel lokale als externe database-instanties.

Weten hoe u verbinding kunt maken met verschillende MySQL-instanties is een van de eerste stappen die u moet begrijpen als u met het databasesysteem begint te werken. U kunt voor ontwikkeling een lokale MySQL-instance uitvoeren die geen speciale authenticatie nodig heeft, maar uw databases in fasering en productie zullen vrijwel zeker authenticatie vereisen. Als je in beide gevallen kunt authenticeren, kun je goed werken in verschillende omgevingen.




  1. ADO.net SqlTransaction verbetert de prestaties

  2. Achterliggende witruimte in MySQL verwijderen

  3. PDO laat de laatste ID invoegen

  4. Hoe to_date() werkt in PostgreSQL