MySQL:: MySQL 8.0 Manual de referință:: 4.2.4 conectarea la serverul MySQL folosind opțiunile de comandă

4.2.4 conectarea la serverul MySQL folosind opțiunile de comandă

această secțiune descrie utilizarea opțiunilor din linia de comandă pentru a specifica modul de stabilire a conexiunilor la serverul MySQL, pentru clienți precum mysql sau mysqldump. Pentru informații despre stabilirea conexiunilor folosind șiruri de conexiune de tip URI sau perechi cheie-valoare, pentru clienți precum MySQL Shell, consultați secțiunea 4.2.5, „conectarea la Server folosind șiruri de tip URI sau perechi cheie-valoare”. Pentru informații suplimentare dacă nu vă puteți conecta, consultați secțiunea 6.2.21,”Depanarea problemelor de conectare la MySQL”.

pentru ca un program client să se conecteze la serverul MySQL, acesta trebuie să utilizeze parametrii de conectare corespunzători, cum ar fi numele gazdei pe care rulează serverul și numele de utilizator și parola contului MySQL. Fiecare parametru de conexiune are o valoare implicită, dar puteți suprascrie valorile implicite, după cum este necesar, utilizând opțiunile de program specificate fie pe linia de comandă, fie într-un fișier de opțiuni.

exemplele de aici folosesc programul client mysql, dar principiile se aplică altor clienți, cum ar fi mysqldump, mysqladmin sau mysqlshow.

această comandă invocă mysql fără a specifica parametri de conexiune expliciți:

mysql

deoarece nu există opțiuni de parametri, valorile implicite se aplică:

  • numele de gazdă implicit estelocalhost. Pe Unix, aceasta are o semnificație specială, așa cum este descris mai târziu.

  • numele de utilizator implicit esteODBC pe Windows sau numele dvs. de conectare Unix pe Unix.

  • nu este trimisă nicio parolă deoarece nu este dată nici--password nici-p.

  • pentru mysql, primul argument nonoption este luat ca numele bazei de date implicite. Deoarece nu există un astfel de argument, mysql nu selectează nicio bază de date implicită.

pentru a specifica în mod explicit numele gazdei și numele de utilizator, precum și o parolă, furnizați opțiunile corespunzătoare pe linia de comandă. Pentru a selecta o bază de date implicită, adăugați un argument Nume bază de date. Exemple:

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

pentru opțiunile de parolă, valoarea parolei este opțională:

  • dacă utilizați un --password sau -p opțiune și specificați o valoare a parolei, nu trebuie să existe spațiu între --password= sau -p și parola care o urmează.

  • dacă utilizați--password sau-p dar nu specificați o valoare a parolei, programul client vă solicită să introduceți parola. Parola nu este afișată pe măsură ce o introduceți. Acest lucru este mai sigur decât oferirea parolei pe linia de comandă, ceea ce ar putea permite altor utilizatori din sistemul dvs. să vadă linia de parolă executând o comandă precum ps. A se vedea secțiunea 6.1.2.1, „Ghidul utilizatorului final pentru securitatea parolelor”.

  • pentru a specifica în mod explicit că nu există nicio parolă și că programul client nu ar trebui să solicite una, utilizați opțiunea--skip-password.

după cum am menționat, includerea valorii parolei pe linia de comandă reprezintă un risc de securitate. Pentru a evita acest risc, specificați opțiunea--password sau-p fără nicio valoare a parolei următoare:

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

când opțiunea--password sau-p este dată fără valoare de parolă, programul client imprimă un prompt și așteaptă să introduceți parola. (În aceste exemple,mydb nu este interpretat ca o parolă, deoarece este separat de opțiunea de parolă precedentă printr-un spațiu.)

pe unele sisteme, rutina de bibliotecă pe care MySQL o folosește pentru a solicita o parolă limitează automat parola la opt caractere. Această limitare este o proprietate a bibliotecii de sistem, nu MySQL. Pe plan intern, MySQL nu are nicio limită pentru lungimea parolei. Pentru a rezolva limitarea sistemelor afectate de aceasta, specificați parola într-un fișier de opțiuni (consultați secțiunea 4.2.2.2, „utilizarea fișierelor de opțiuni”). O altă soluție este să vă schimbați parola MySQL la o valoare care are opt sau mai puține caractere, dar care are dezavantajul că parolele mai scurte tind să fie mai puțin sigure.

programele Client determină ce tip de conexiune să facă după cum urmează:

  • dacă gazda nu este specificată sau este localhost, are loc o conexiune la gazda locală:

    • pe Windows, clientul se conectează utilizând memoria partajată, dacă serverul a fost conectat la a început cu shared_memory variabila de sistem activat pentru a sprijini conexiuni de memorie partajată.

    • pe Unix, programele MySQL tratează numele gazdei localhost în mod special, într-un mod care este probabil diferit de ceea ce vă așteptați în comparație cu alte programe bazate pe rețea: clientul se conectează utilizând un fișier socket Unix. Opțiunea--socket sau variabila de mediuMYSQL_UNIX_PORT poate fi utilizată pentru a specifica numele soclului.

  • pe Windows, dacă host este . (perioadă), sau TCP/IP nu este activat și --socket nu este specificat sau gazda este goală, clientul se conectează folosind un numit pipe, în cazul în care serverul a fost pornit cu named_pipe variabila de sistem activat pentru a sprijini conexiuni numite-pipe. Dacă conexiunile numite-pipe nu sunt acceptate sau dacă utilizatorul care face conexiunea nu este membru al grupului Windows specificat de named_pipe_full_access_group variabila de sistem, apare o eroare.

  • în caz contrar, conexiunea utilizează TCP / IP.

opțiunea --protocol vă permite să utilizați un anumit protocol de transport chiar și atunci când alte opțiuni duc în mod normal la utilizarea unui protocol diferit. Adică --protocol specifică Explicit protocolul de transport și înlocuiește Regulile precedente, chiar și pentru localhost.

sunt utilizate sau verificate numai opțiunile de conectare relevante pentru protocolul de transport selectat. Alte opțiuni de conectare sunt ignorate. De exemplu, cu --host=localhost pe Unix, clientul încearcă să se conecteze la serverul local folosind un fișier socket Unix, chiar dacă o opțiune --port sau -P este dată pentru a specifica un număr de port TCP/IP.

pentru a vă asigura că clientul face o conexiune TCP/IP la serverul local, utilizați --host sau -h pentru a specifica o valoare a numelui de gazdă 127.0.0.1 (în loc de localhost), sau adresa IP sau numele serverului local. De asemenea, puteți specifica explicit protocolul de transport, chiar și pentru localhost, utilizând opțiunea --protocol=TCP. Exemple:

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

dacă serverul este configurat să accepte conexiuni IPv6, clienții se pot conecta la serverul local prin IPv6 folosind--host=::1. A Se Vedea Secțiunea 5.1.13, „Suport IPv6”.

în Windows, pentru a forța un client MySQL să utilizeze o conexiune numită-pipe, specificați--pipe sau--protocol=PIPE opțiune sau specificați. (perioadă) ca nume de gazdă. Dacă serverul nu a fost pornit cunamed_pipe variabila de sistem activată pentru a suporta conexiuni cu conducte numite sau dacă utilizatorul care face conexiunea nu este membru al grupului Windows specificat de named_pipe_full_access_group variabila de sistem, apare o eroare. Utilizați opțiunea --socket pentru a specifica numele conductei dacă nu doriți să utilizați numele implicit al conductei.

conexiunile la serverele la distanță utilizează TCP / IP. Această comandă se conectează la serverul care rulează pe remote.example.com folosind numărul de port implicit (3306):

mysql --host=remote.example.com

pentru a specifica în mod explicit un număr de port, utilizați --port sau -P opțiune:

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

puteți specifica un număr de port pentru conexiunile la un port server local, de asemenea. Cu toate acestea, așa cum s-a indicat anterior, conexiunile la localhost pe Unix utilizează în mod implicit un fișier socket, deci dacă nu forțați o conexiune TCP/IP așa cum s-a descris anterior, orice opțiune care specifică un număr de port este ignorată.

pentru această comandă, programul folosește un fișier socket pe Unix și opțiunea --port este ignorată:

mysql --port=13306 --host=localhost

pentru a determina utilizarea numărului de port, forțați o conexiune TCP / IP. De exemplu, invocați programul în oricare dintre aceste moduri:

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

Pentru informații suplimentare despre opțiunile care controlează modul în care programele client stabilesc conexiuni la server, consultați secțiunea 4.2.3, „Opțiuni de comandă pentru conectarea la Server”.

este posibil să specificați parametrii conexiunii fără a-i introduce pe linia de comandă de fiecare dată când invocați un program client:

  • specificați parametrii conexiunii în secțiunea a unui fișier de opțiuni. Secțiunea relevantă a fișierului poate arăta astfel:

    host=host_nameuser=user_namepassword=password

    pentru mai multe informații, consultați secțiunea 4.2.2.2, „utilizarea fișierelor opționale”.

  • unii parametri de conexiune pot fi specificați folosind variabile de mediu. Exemple:

    • pentru a specifica gazda pentru mysql, utilizațiMYSQL_HOST.

    • pe Windows, pentru a specifica numele de utilizator MySQL, utilizați USER.

    pentru o listă de variabile de mediu acceptate, consultați secțiunea 4.9, „variabile de mediu”.



Lasă un răspuns

Adresa ta de email nu va fi publicată.