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 er
localhost
. Det har en særlig betydning, som beskrevet senere. -
standardbrugernavnet er
ODBC
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
--password
eller-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.--socket
ellerMYSQL_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 mednamed_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 systemvariablennamed_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:
-
brug
MYSQL_HOST
for at angive værten. -
På Vinduer skal du bruge
USER
.
For en liste over understøttede miljøvariabler, Se afsnit 4.9,”miljøvariabler”.
-