8.0 Referencehåndbog :: 4.2.4 tilslutning til serveren ved hjælp af kommandoindstillinger

4.2.4 tilslutning til serveren ved hjælp af kommandoindstillinger

dette afsnit beskriver brugen af kommandolinjeindstillinger for at angive, hvordan du opretter forbindelser til serveren, for klienter som f.eks mysdump. For oplysninger om oprettelse af forbindelser ved hjælp af URI-lignende forbindelsesstrenge eller nøgleværdipar, se Afsnit 4.2.5, “tilslutning til serveren ved hjælp af URI-lignende strenge eller nøgleværdipar”. For yderligere oplysninger, hvis du ikke kan oprette forbindelse, Se afsnit 6.2.21, “fejlfinding af problemer med at oprette forbindelse til “.

for at et klientprogram kan oprette forbindelse til serveren, skal det bruge de korrekte forbindelsesparametre, f.eks. navnet på den vært, hvor serveren kører, og brugernavnet og adgangskoden til din konto. Hver forbindelsesparameter har en standardværdi, men du kan tilsidesætte standardværdier efter behov ved hjælp af programindstillinger, der er angivet enten på kommandolinjen eller i en indstillingsfil.

eksemplerne her bruger client-programmet, men principperne gælder for andre klienter som f.eks.

denne kommando påberåber sig uden at angive nogen eksplicitte forbindelsesparametre:

mysql

fordi der ikke er nogen parameterindstillinger, gælder standardværdierne:

  • standardværtnavnet erlocalhost. Det har en særlig betydning, som beskrevet senere.

  • standardbrugernavnet erODBC på vinduer eller dit unikke login-navn på unik.

  • ingen adgangskode sendes, fordi hverken--password eller-p er givet.

  • det første nonoption-argument tages som navnet på standarddatabasen. Da der ikke findes et sådant argument, vælger vi ingen standarddatabase.

for at angive værtsnavnet og brugernavnet eksplicit samt en adgangskode skal du angive passende indstillinger på kommandolinjen. Hvis du vil vælge en standarddatabase, skal du tilføje et argument for databasenavn. Eksempler:

mysql --host=localhost --user=myname --password=password mydbmysql -h localhost -u myname -ppassword mydb

for adgangskodeindstillinger er adgangskodeværdien valgfri:

  • Hvis du bruger en --password eller -p valg og angiv en adgangskodeværdi, der må ikke være mellemrum mellem --password= eller -p og adgangskoden der følger den.

  • Hvis du bruger --passwordeller -p men ikke angiver en adgangskodeværdi, beder klientprogrammet dig om at indtaste adgangskoden. Adgangskoden vises ikke, når du indtaster den. Dette er mere sikkert end at give adgangskoden på kommandolinjen, hvilket muligvis gør det muligt for andre brugere på dit system at se adgangskodelinjen ved at udføre en kommando som ps. Se Afsnit 6.1.2.1, “retningslinjer for slutbrugerens adgangskodesikkerhed”.

  • for eksplicit at angive, at der ikke er nogen adgangskode, og at klientprogrammet ikke skal bede om en, skal du bruge--skip-password.

som netop nævnt er inkludering af adgangskodeværdien på kommandolinjen en sikkerhedsrisiko. For at undgå denne risiko skal du angive --password eller -p uden følgende adgangskodeværdi:

mysql --host=localhost --user=myname --password mydbmysql -h localhost -u myname -p mydb

Når--password eller-p er givet uden adgangskodeværdi, udskriver klientprogrammet en prompt og venter på, at du indtaster adgangskoden. (I disse eksempler mydb fortolkes ikke som en adgangskode, fordi den er adskilt fra den foregående adgangskodeindstilling med et mellemrum.)

på nogle systemer begrænser biblioteksrutinen, der bruges til at bede om en adgangskode, automatisk adgangskoden til otte tegn. Denne begrænsning er en ejendom af systembiblioteket, ikke Myskl. Internt har vi ingen grænse for længden af adgangskoden. For at omgå begrænsningen på systemer, der er berørt af den, skal du angive din adgangskode i en option-fil (Se afsnit 4.2.2.2, “brug af Option-filer”). En anden løsning er at ændre din adgangskode til en værdi, der har otte eller færre tegn, men det har den ulempe, at kortere adgangskoder har tendens til at være mindre sikre.

klientprogrammer bestemmer, hvilken type forbindelse der skal oprettes som følger:

  • hvis værten ikke er angivet eller er localhost, opstår der en forbindelse til den lokale vært:

    • På Vinduer forbinder klienten ved hjælp af delt hukommelse, hvis serveren var i stand til at startede med shared_memory systemvariabel aktiveret til at understøtte delte hukommelsesforbindelser.

    • på univ behandler Myskl-programmer værtsnavnet localhost specielt på en måde, der sandsynligvis er anderledes end hvad du forventer i forhold til andre netværksbaserede programmer: klienten opretter forbindelse ved hjælp af en stikdåsefil. --socketellerMYSQL_UNIX_PORT miljøvariablen kan bruges til at angive sokkelnavnet.

  • På Vinduer, hvis host er . (periode), eller TCP/IP er ikke aktiveret, og --socket er ikke angivet, eller værten er tom, forbinder klienten ved hjælp af et navngivet rør, hvis serveren blev startet med named_pipe systemvariabel aktiveret til at understøtte navngivne rørforbindelser. Hvis navngivne rørforbindelser ikke understøttes, eller hvis brugeren, der opretter forbindelsen, ikke er medlem af gruppen vinduer, der er angivet af systemvariablen named_pipe_full_access_group, opstår der en fejl.

  • ellers bruger forbindelsen TCP/IP.

--protocol giver dig mulighed for at bruge en bestemt transportprotokol, selv når andre indstillinger normalt resulterer i brug af en anden protokol. Det vil sige, --protocol angiver transportprotokollen eksplicit og tilsidesætter de foregående regler, selv for localhost.

kun forbindelsesindstillinger, der er relevante for den valgte transportprotokol, bruges eller kontrolleres. Andre forbindelsesmuligheder ignoreres. For eksempel med --host=localhost på unik, forsøger klienten at oprette forbindelse til den lokale server ved hjælp af en unik-stikfil, selvom en --port eller -P er givet til at angive et TCP/IP-portnummer.

for at sikre, at klienten opretter en TCP/IP-forbindelse til den lokale server, skal du bruge --host eller -h for at angive en værtsnavnsværdi på 127.0.0.1 (i stedet for localhost), eller IP-adressen eller navnet på den lokale server. Du kan også angive transportprotokollen eksplicit, selv for localhost, ved at bruge --protocol=TCP. Eksempel:

mysql --host=127.0.0.1mysql --protocol=TCP

Hvis serveren er konfigureret til at acceptere IPv6-forbindelser, kan klienter oprette forbindelse til den lokale server via IPv6 ved hjælp af--host=::1. Se Afsnit 5.1.13, “IPv6-Understøttelse”.

på vinduer skal du angive--pipe eller--protocol=PIPE eller angive. (periode) som værtsnavn. Hvis serveren ikke blev startet med named_pipe systemvariablen aktiveret til at understøtte navngivne rørforbindelser, eller hvis brugeren, der opretter forbindelsen, ikke er medlem af gruppen, der er angivet af named_pipe_full_access_group systemvariablen, opstår der en fejl. Brug --socket mulighed for at angive navnet på røret, hvis du ikke vil bruge standard rørnavn.

forbindelser til eksterne servere bruger TCP / IP. Denne kommando forbinder til serveren, der kører på remote.example.com ved hjælp af standardportnummeret (3306):

mysql --host=remote.example.com

for at angive et portnummer eksplicit skal du bruge --port eller -P mulighed:

mysql --host=remote.example.com --port=13306

Du kan angive et portnummer for forbindelser til også en lokal server. Som tidligere angivet bruger forbindelser til localhost on unik som standard en socket-fil, så medmindre du tvinger en TCP/IP-forbindelse som tidligere beskrevet, ignoreres enhver mulighed, der angiver et portnummer.

til denne kommando bruger programmet en socket-fil på unik, og--port indstillingen ignoreres:

mysql --port=13306 --host=localhost

for at få portnummeret til at blive brugt, skal du tvinge en TCP/IP-forbindelse. Påkald f.eks. programmet på en af disse måder:

mysql --port=13306 --host=127.0.0.1mysql --port=13306 --protocol=TCP

For yderligere oplysninger om indstillinger, der styrer, hvordan klientprogrammer opretter forbindelser til serveren, se afsnit 4.2.3, “kommandoindstillinger til forbindelse til serveren”.

det er muligt at angive forbindelsesparametre uden at indtaste dem på kommandolinjen, hver gang du påberåber et klientprogram:

  • Angiv forbindelsesparametrene i sektionen af en indstillingsfil. Det relevante afsnit i filen kan se sådan ud:

    host=host_nameuser=user_namepassword=password

    For mere information, se Afsnit 4.2.2.2, “brug af Indstillingsfiler”.

  • nogle forbindelsesparametre kan specificeres ved hjælp af miljøvariabler. Eksempel:

    • brugMYSQL_HOST for at angive værten.

    • På Vinduer skal du brugeUSER.

    For en liste over understøttede miljøvariabler, Se afsnit 4.9,”miljøvariabler”.



Skriv et svar

Din e-mailadresse vil ikke blive publiceret.