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év
ODBC
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
--password
vagy-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 anamed_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 anamed_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 localhost
eseté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_HOST
parancsot. -
Windows rendszeren a MySQL felhasználónév megadásához használja a
USER
parancsot.
a támogatott környezeti változók listáját lásd a 4.9 “környezeti változók”szakaszban.
-