sql >> Database teknologi >  >> RDS >> Mysql

Tilslutning til MySQL-databaser


Introduktion

En af de første ting, du skal tænke på, når du arbejder med en MySQL-database, er, hvordan du forbinder og interagerer med databaseinstansen. Dette kræver koordinering mellem databaseklienten - den komponent, du bruger til at interagere med databasen, og databaseserveren - den faktiske MySQL-instans, der gemmer, organiserer og giver adgang til dine data.

På grund af dette skal du forstå, hvordan du forbinder som klient ved at give de nødvendige oplysninger til godkendelse. I denne vejledning vil vi dække, hvordan du opretter forbindelse til en MySQL-database ved hjælp af den oprindelige mysql kommandolinjeklient — en af ​​de mest almindelige og nyttige måder at interagere med en databaseinstans på.

I en ledsagende guide kan du finde ud af, hvordan du konfigurerer MySQL's godkendelse, så den opfylder dit projekts behov. Overvej at læse begge vejledninger for at få et mere komplet billede af, hvordan godkendelse fungerer i MySQL.



Grundlæggende oplysninger om mysql klient

mysql klient er standardkommandolinjeklienten og SQL-shell for MySQL. Du kan bruge det interaktivt til at skabe en shell-session med din server, eller du kan fodre den med SQL-filer til at køre uden brugerinteraktion. Det er især nyttigt, når du implementerer konfigurationsmuligheder og opsætter dit miljø. Interaktiv udforskning og ad-hoc-forespørgsler er også et godt valg, mens du udvikler de adgangsmønstre, dine programmer vil bruge.

Måden at oprette forbindelse til og autentificere med en MySQL-server afhænger af din servers konfiguration. I de følgende afsnit gennemgår vi nogle af de grundlæggende tilslutningsmuligheder. For klarhedens skyld skelner vi mellem lokale og fjernforbindelser:

  • lokal forbindelse :en forbindelse, hvor klienten og MySQL-instansen er placeret på den samme server
  • fjernforbindelse :hvor klienten opretter forbindelse til en netværkstilgængelig MySQL-instans, der kører på en anden computer

Lad os starte med at oprette forbindelse til en database fra den samme computer.



Opretter forbindelse til en lokal database med mysql

Uden nogen argumenter er mysql kommandoen forsøger at oprette forbindelse til en Unix-socket-fil for at få adgang til en lokal database. Normalt bestemmes standard socket-filplaceringen enten af ​​en konfigurationsfil eller af en kompileret standardværdi. Som standard bruges dit operativsystems brugernavn til at forsøge at oprette forbindelse til databasen.

Så hvis din nuværende bruger er en gyldig MySQL-bruger på din lokale database, kan du prøve at oprette forbindelse ved at skrive:

mysql

Hvis kontoen eksisterer og ikke kræver en adgangskode, eller hvis MySQL-socket-godkendelse er konfigureret til kontoen, bliver du automatisk logget ind. Hvis brugernavnet ikke findes i MySQL, eller hvis der kræves en adgangskode eller yderligere godkendelse, vil kommandoen mislykkes.

For at kontrollere den måde, mysql forsøger at logge ind på databasen, videregive yderligere information med din kommando ved hjælp af kommandolinjeindstillinger:

  • --user= eller -u :angiver den MySQL-bruger, der skal godkendes med.
  • --adgangskode eller -p :beder MySQL om at bede om en adgangskode til MySQL-brugeren.
  • --host=127.0.0.1 eller -h 127.0.0.1 :fortæller mysql at oprette forbindelse til den lokale MySQL-instans ved hjælp af den lokale TCP-loopback-adresse i stedet for en Unix-socket. Dette er vigtigt at bruge, hvis din MySQL-server ikke er konfigureret til at bruge Unix-sockets.

Bemærk: MySQL fortolker 127.0.0.1 anderledes end localhost . Angivelse af 127.0.0.1 angiver, at du vil bruge en TCP-forbindelse, mens localhost vil få MySQL til at forsøge at bruge en Unix-socket til at oprette forbindelse til den lokale database.

Så hvis du har brug for at logge ind som MySQL-brugeren eva med en adgangskode, men stadig ved at bruge Unix-stikket til at oprette forbindelse, kan du skrive:

mysql --user=eva --password

mysql klienten vil bede dig om en adgangskode til kontoen.

Hvis du vil prøve at logge ind med det samme brugernavn, men over en TCP-forbindelse til den lokale database, skal du i stedet skrive:

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

Standardgodkendelseskonfigurationen såvel som det indledende administrative brugernavn og adgangskode kan variere afhængigt af, hvordan MySQL blev installeret. Mange metoder sætter MySQL op til at bruge en Unix-socket og inkluderer en standard rod bruger som den administrative konto.

I disse tilfælde kan du logge ind på databasen som rod bruger ved at skrive:

mysql --user=root --password

Du vil blive bedt om den administrative adgangskode, der blev valgt eller genereret under installationen, for at fortsætte.

Alle disse metoder giver dig mulighed for at oprette forbindelse til en lokal MySQL-database.



Opretter forbindelse til en fjerndatabase

Hvis du ønsker at oprette forbindelse til en ekstern MySQL-database, skal du angive netværksplaceringen for den eksterne vært og muligvis tilføje nogle yderligere oplysninger.

De tilgængelige godkendelsesmetoder varierer baseret på MySQL-instansens konfiguration. Oftest skal du dog angive følgende parametre for at godkende:

Valgmulighed Beskrivelse
--host= eller -h Netværksværtsnavnet eller IP-adressen på MySQL-serveren.
--port= eller -P Netværksporten som MySQL-serveren kører på. Hvis serveren bruger port 3306, standard MySQL-porten, kan denne parameter udelades.
--user= eller -u Det databasebrugernavn, du ønsker at oprette forbindelse som. Hvis det ikke er angivet, vil dit operativsystems brugernavn blive brugt.
--adgangskode eller -p Angiv, at du vil angive en adgangskode til den angivne konto. mysql klienten vil bede dig om adgangskoden, når du trykker på Enter .
MySQL-database MySQL-databasenavnet, som du vil have adgang til. Hvis ikke angivet, mysql vil oprette forbindelse til serveren uden at oprette forbindelse til en bestemt database.

Det grundlæggende format for tilslutning til en fjerndatabase ser typisk sådan ud:

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

Efter at have trykket på Enter , mysql klienten vil bede dig om adgangskoden. Hvis du godkender, vil en ny interaktiv MySQL-session blive startet.

Som et eksempel kan vi forestille os at ville oprette forbindelse til en database med følgende krav:

  • værtsnavn:myhost
  • port:1234
  • database:applicationdb
  • brugernavn:myapplicationuser
  • adgangskode:mypass

Kalder mysql med følgende muligheder vil give dig mulighed for at godkende:

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

Når du trykker på Enter, vil du blive bedt om en adgangskode, hvor du kan godkende med mypass .



Justering af en MySQL-servers godkendelseskonfiguration

Hvis du ønsker at ændre reglerne, der dikterer, hvordan brugere kan godkende til dine MySQL-instanser, kan du gøre det ved at ændre din servers konfiguration. Du kan finde ud af, hvordan du ændrer MySQL's godkendelseskonfiguration i denne artikel.



Konklusion

I denne guide dækkede vi MySQL-godkendelse fra klientsiden. Vi demonstrerede, hvordan man bruger mysql kommandolinjeklient til at oprette forbindelse til både lokale og eksterne databaseinstanser.

At vide, hvordan du opretter forbindelse til forskellige MySQL-instanser, er et af de første trin, du skal forstå, når du begynder at arbejde med databasesystemet. Du kan køre en lokal MySQL-instans til udvikling, der ikke kræver nogen særlig godkendelse, men dine databaser i iscenesættelse og produktion vil næsten helt sikkert kræve godkendelse. At være i stand til at godkende i begge tilfælde vil give dig mulighed for at arbejde godt i forskellige miljøer.




  1. Har Oracle en ækvivalent til SQL Servers tabelvariabler?

  2. Vælg rækker, der ikke er til stede i anden tabel

  3. MySQL ACOS() Funktion – Returner Arc Cosinus for et tal

  4. SYSDATE() Eksempler – MySQL