MySQL:: MySQL 8.0 referencia kézikönyv:: 4.2.4 Csatlakozás a MySQL szerverhez a Parancsopciók használatával

4.2.4 Csatlakozás a MySQL szerverhez a Parancsopciók használatával

Ez a szakasz a parancssori beállítások használatát írja le a MySQL szerverrel való kapcsolat létrehozásának módjára olyan kliensek esetében, mint a mysql vagy a mysqldump. Az URI-szerű kapcsolati karakterláncok vagy kulcsérték-Párok használatával történő kapcsolatok létrehozásáról az ügyfelek, például a MySQL Shell esetében lásd a 4.2.5.szakaszt, “Csatlakozás a kiszolgálóhoz URI-szerű karakterláncok vagy kulcsérték-Párok használatával”. Ha nem tud csatlakozni, további információt a 6.2.21 “a MySQL-hez való csatlakozással kapcsolatos problémák elhárítása”című szakaszban talál.

ahhoz, hogy egy ügyfélprogram csatlakozzon a MySQL szerverhez, a megfelelő csatlakozási paramétereket kell használnia, például annak a gazdagépnek a nevét, ahol a kiszolgáló fut, valamint a MySQL-fiók felhasználónevét és jelszavát. Minden csatlakozási paraméternek alapértelmezett értéke van, de szükség esetén felülbírálhatja az alapértelmezett értékeket a parancssorban vagy egy opciófájlban megadott programbeállítások segítségével.

az itt található példák a mysql kliens programot használják, de az elvek más kliensekre is vonatkoznak, mint például a mysqldump, a mysqladmin vagy a mysqlshow.

Ez a parancs a MySQL-t explicit csatlakozási paraméterek megadása nélkül hívja meg:

mysql

mivel nincsenek paraméterbeállítások, az alapértelmezett értékek érvényesek:

  • Az alapértelmezett gazdagép neve localhost. Unix – on ennek különleges jelentése van, amint azt később leírtuk.

  • Az alapértelmezett felhasználónévODBC Windows rendszeren vagy az Ön Unix bejelentkezési neve Unixon.

  • nem küldünk jelszót, mert sem --password sem -p nincs megadva.

  • a mysql esetében az első nonoption argumentum az alapértelmezett adatbázis neve. Mivel nincs ilyen argumentum, a mysql nem választ alapértelmezett adatbázist.

az állomásnév és a felhasználónév explicit megadásához, valamint a jelszó megadásához adja meg a megfelelő beállításokat a parancssorban. Alapértelmezett adatbázis kiválasztásához adjon hozzá egy adatbázisnév argumentumot. Példák:

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

a jelszó opciókhoz a jelszó értéke opcionális:

  • Ha --password vagy -p a --password= vagy -p és az azt követő jelszó között nem lehet szóköz.

  • Ha --passwordvagy -p de nem ad meg jelszó értéket, az ügyfélprogram kéri a jelszó megadását. A jelszó nem jelenik meg, amikor beírja. Ez biztonságosabb, mint a jelszó megadása a parancssorban, amely lehetővé teheti a rendszer többi felhasználójának a jelszó sorának megtekintését egy olyan parancs végrehajtásával, mint a ps. Lásd a 6.1.2.1. szakaszt, “Végfelhasználói Irányelvek a jelszavak biztonságához”.

  • a--skip-password opcióval kifejezetten megadhatja, hogy nincs jelszó, és az ügyfélprogramnak nem szabad ilyet kérnie.

mint már említettük, a jelszó értékének a parancssorban való feltüntetése biztonsági kockázatot jelent. A kockázat elkerülése érdekében adja meg a --password vagy -p opciót a következő jelszó érték nélkül:

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

Ha a --password vagy -p opció jelszó érték nélkül van megadva, az ügyfélprogram kiírja a promptot, és megvárja a jelszó megadását. (Ezekben a példákban a mydb nem értelmezhető jelszóként, mert szóközzel van elválasztva az előző jelszó opciótól.)

egyes rendszereken a MySQL által a jelszó kéréséhez használt könyvtári rutin automatikusan nyolc karakterre korlátozza a jelszót. Ez a korlátozás a rendszerkönyvtár tulajdonsága, nem a MySQL. Belsőleg a MySQL-nek nincs korlátozása a jelszó hosszára. Az általa érintett rendszerek korlátozásának megkerüléséhez adja meg jelszavát egy opciófájlban (lásd a 4.2.2.2.szakaszt, “Opciófájlok használata”). Egy másik megoldás az, ha a MySQL jelszavát nyolc vagy kevesebb karakterből álló értékre változtatja, de ennek hátránya, hogy a rövidebb jelszavak általában kevésbé biztonságosak.

az ügyfélprogramok meghatározzák, hogy milyen típusú kapcsolatot kell létrehozni az alábbiak szerint:

  • Ha a gazdagép nincs megadva, vagy localhost, akkor kapcsolat jön létre a helyi gazdagéppel:

    • Windows rendszeren az ügyfél megosztott memóriával csatlakozik, ha a kiszolgáló a shared_memory rendszerváltozóval kezdődött, amely támogatja a megosztott memória kapcsolatokat.

    • Unix rendszeren a MySQL programok a gazdagép nevét kezelik localhost speciálisan, olyan módon, amely valószínűleg különbözik attól, amit más hálózati alapú programokhoz képest vár: az ügyfél egy Unix socket fájl segítségével csatlakozik. A--socket opció vagy aMYSQL_UNIX_PORT környezeti változó használható az aljzat nevének megadásához.

  • Windows rendszeren, ha a host is . (period), vagy a TCP/IP nincs engedélyezve, és a --socket nincs megadva, vagy a gazdagép üres, az ügyfél egy pipe, ha a kiszolgálót a named_pipe rendszerváltozóval indították el, amely engedélyezve van a named-pipe kapcsolatok támogatására. Ha a named-pipe kapcsolatok nem támogatottak, vagy ha a kapcsolatot létrehozó felhasználó nem tagja a named_pipe_full_access_group rendszerváltozóban megadott Windows csoportnak, hiba lép fel.

  • ellenkező esetben a kapcsolat TCP / IP-t használ.

a --protocol opció lehetővé teszi egy adott átviteli protokoll használatát akkor is, ha más opciók általában más protokoll használatát eredményezik. Ez azt jelenti, hogy --protocol kifejezetten meghatározza a szállítási protokollt, és felülbírálja az előző szabályokat, még a localhostesetén is.

csak a kiválasztott átviteli protokoll szempontjából releváns csatlakozási lehetőségeket használja vagy ellenőrzi. Az egyéb csatlakozási lehetőségeket figyelmen kívül hagyja. Például a --host=localhost Unix rendszeren az ügyfél megpróbál csatlakozni a helyi kiszolgálóhoz egy Unix socket fájl segítségével, még akkor is, ha a --port vagy a -P opció meg van adva a TCP/IP portszám megadásához.

annak biztosítása érdekében, hogy az ügyfél TCP/IP kapcsolatot létesítsen a helyi kiszolgálóval, használja a --host vagy -h a 127.0.0.1 gazdagépnév értékét (a localhost), vagy a helyi szerver IP-címét vagy nevét. A szállítási protokollt explicit módon is megadhatja, még a localhost esetén is, a --protocol=TCP opció használatával. Példák:

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

Ha a kiszolgáló IPv6-kapcsolatok fogadására van konfigurálva, az ügyfelek IPv6-on keresztül csatlakozhatnak a helyi kiszolgálóhoz a --host=::1 használatával. Lásd Az 5.1.13.Szakaszt, “IPv6 Támogatás”.

Windows rendszeren, ha egy MySQL klienst egy névcsöves kapcsolat használatára szeretne kényszeríteni, adja meg a--pipe vagy--protocol=PIPE opciót, vagy adja meg a. (pont) gazdagép nevét. Ha a kiszolgálót nem a named_pipe rendszerváltozóval indították el, amely támogatja a névcsöves kapcsolatokat, vagy ha a kapcsolatot létrehozó felhasználó nem tagja a named_pipe_full_access_group rendszerváltozó által megadott Windows csoportnak, hiba lép fel. Használja a --socket opciót a cső nevének megadásához, ha nem akarja használni az alapértelmezett csőnevet.

a távoli kiszolgálókkal való kapcsolatok TCP/IP-t használnak. Ez a parancs a remote.example.com rendszeren futó kiszolgálóhoz csatlakozik az alapértelmezett portszám (3306)használatával:

mysql --host=remote.example.com

a portszám explicit megadásához használja a --port vagy -P opciót:

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

megadhat egy portszámot a csatlakozáshoz helyi szerver is. Azonban, amint azt korábban jeleztük, a localhost Unix-on lévő kapcsolatok alapértelmezés szerint socket fájlt használnak, így ha nem kényszeríti a TCP/IP kapcsolatot a korábban leírtak szerint, a portszámot megadó opciókat figyelmen kívül hagyja.

ehhez a parancshoz a program egy socket fájlt használ Unix-on, és a --port opciót figyelmen kívül hagyja:

mysql --port=13306 --host=localhost

a portszám használatához kényszerítsen TCP/IP kapcsolatot. Például hívja meg a programot a következő módok egyikével:

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

az ügyfélprogramok kiszolgálóhoz való csatlakozásának módját szabályozó beállításokkal kapcsolatos további információkért lásd a 4.2.3″Parancsbeállítások a kiszolgálóhoz való csatlakozáshoz” című részt.

lehetőség van a kapcsolat paramétereinek megadására anélkül, hogy azokat a parancssorba beírná minden egyes ügyfélprogram meghívásakor:

  • adja meg a csatlakozási paramétereket egy opciófájl szakaszában. A fájl megfelelő szakasza így nézhet ki:

    host=host_nameuser=user_namepassword=password

    további információkért lásd a 4.2.2.2.szakaszt, “az Opciófájlok használata”.

  • egyes csatlakozási paraméterek környezeti változók segítségével adhatók meg. Példák:

    • a MySQL gazdagépének megadásához használja a MYSQL_HOSTparancsot.

    • Windows rendszeren a MySQL felhasználónév megadásához használja a USERparancsot.

    a támogatott környezeti változók listáját lásd a 4.9 “környezeti változók”szakaszban.



Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.