MySQL :: MySQL 8.0 Reference Manual:: 4.2.4 verbinden met de MySQL Server met behulp van Command Options

4.2.4 verbinden met de MySQL Server met behulp van Command Options

Deze sectie beschrijft het gebruik van command-line opties om te specificeren hoe verbindingen tot stand te brengen met de MySQL server, voor clients zoals MySQL of mysqldump. Voor informatie over het tot stand brengen van verbindingen met behulp van URI-achtige verbindingsreeksen of sleutelwaardeparen, voor clients zoals MySQL Shell, zie paragraaf 4.2.5, “verbinding maken met de Server met behulp van URI-achtige Strings of Sleutelwaardeparen”. Voor aanvullende informatie als je niet in staat bent om verbinding te maken, zie paragraaf 6.2.21, “problemen oplossen met verbinden met MySQL”.

voor een client programma om verbinding te maken met de MySQL server, moet het de juiste verbindingsparameters gebruiken, zoals de naam van de host waarop de server draait en de gebruikersnaam en het wachtwoord van uw MySQL account. Elke verbindingsparameter heeft een standaardwaarde, maar u kunt zo nodig standaardwaarden overschrijven met behulp van programmaopties die zijn opgegeven op de opdrachtregel of in een optiebestand.

De voorbeelden hier gebruiken het MySQL client programma, maar de principes zijn van toepassing op andere clients zoals mysqldump, mysqladmin, of mysqlshow.

Dit commando roept mysql aan zonder expliciete verbindingsparameters op te geven:

mysql

omdat er geen parameteropties zijn, zijn de standaardwaarden van toepassing:

  • De standaard hostnaam is localhost. Op Unix heeft dit een speciale betekenis, zoals later beschreven.

  • De standaard gebruikersnaam is ODBC op Windows of uw Unix-aanmeldnaam op Unix.

  • Er wordt geen wachtwoord verzonden omdat --password noch -p wordt gegeven.

  • voor mysql wordt het eerste nonoption argument gebruikt als de naam van de standaarddatabase. Omdat er geen dergelijk argument is, selecteert mysql geen standaard database.

om de hostnaam en gebruikersnaam expliciet op te geven, evenals een wachtwoord, geeft u de juiste opties op de opdrachtregel. Om een standaarddatabase te selecteren, voegt u een argument database-naam toe. Voorbeelden:

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

voor wachtwoordopties is de wachtwoordwaarde optioneel:

  • Als u een --password of -p gebruikt en een wachtwoordwaarde opgeeft, moet er geen spatie tussen --password= of -p en het wachtwoord dat erop volgt.

  • Als u --password of -p gebruikt, maar geen wachtwoordwaarde opgeeft, vraagt het client-programma u het wachtwoord in te voeren. Het wachtwoord wordt niet weergegeven als u het invoert. Dit is veiliger dan het geven van het wachtwoord op de opdrachtregel, waardoor andere gebruikers op uw systeem de wachtwoordregel kunnen zien door een commando zoals ps uit te voeren. Zie paragraaf 6.1.2.1, “richtlijnen voor eindgebruikers voor wachtwoordbeveiliging”.

  • om expliciet aan te geven dat er geen wachtwoord is en dat het clientprogramma er niet om moet vragen, gebruikt u de optie --skip-password.

zoals eerder vermeld, is inclusief de wachtwoordwaarde op de opdrachtregel een beveiligingsrisico. Om dit risico te vermijden, specificeer de optie --password of -p zonder een volgende wachtwoordwaarde:

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

wanneer de optie --password of -p zonder wachtwoordwaarde wordt gegeven, drukt het client-programma een prompt af en wacht tot u het wachtwoord invoert. (In deze voorbeelden wordt mydb niet geïnterpreteerd als een wachtwoord omdat het gescheiden is van de vorige wachtwoordoptie door een spatie.)

Op sommige systemen beperkt de bibliotheekroutine die MySQL gebruikt om om een wachtwoord te vragen het wachtwoord automatisch tot acht tekens. Die beperking is een eigenschap van de systeembibliotheek, niet MySQL. Intern heeft MySQL geen limiet voor de lengte van het wachtwoord. Om de beperking op systemen die erdoor worden beïnvloed te omzeilen, specificeer je je wachtwoord in een optiebestand (zie paragraaf 4.2.2.2, “Optiebestanden gebruiken”). Een andere oplossing is om uw MySQL wachtwoord te veranderen naar een waarde die acht of minder tekens heeft, maar die het nadeel heeft dat kortere wachtwoorden minder veilig zijn.

clientprogramma ‘ s bepalen als volgt welk type verbinding gemaakt moet worden:

  • als de host niet is opgegeven of localhost, ontstaat er een verbinding met de lokale host:

    • Op Windows maakt de client verbinding met gedeeld geheugen, als de server is gestart met de shared_memory systeemvariabele ingeschakeld om gedeelde geheugenverbindingen te ondersteunen.

    • op Unix behandelen MySQL-programma ‘ s de hostnaam localhost speciaal, op een manier die waarschijnlijk anders is dan wat u verwacht in vergelijking met andere netwerkgebaseerde programma ‘ s: de client maakt verbinding met een Unix-socket-bestand. De optie --socket of de omgevingsvariabele MYSQL_UNIX_PORT kan worden gebruikt om de socket naam op te geven.

  • On Windows, if host is . (period), or TCP/IP is not en --socket is not specified or the host is empty, the client connects using a named pipe, if de server werd gestart met de named_pipe systeemvariabele ingeschakeld om named-pipe verbindingen te ondersteunen. Als named-pipe-verbindingen niet worden ondersteund of als de gebruiker die de verbinding maakt geen lid is van de Windows-groep die is opgegeven door de named_pipe_full_access_group systeemvariabele, treedt er een fout op.

  • anders gebruikt de verbinding TCP / IP.

de --protocol optie stelt u in staat om een bepaald transportprotocol te gebruiken, zelfs als andere opties normaal resulteren in het gebruik van een ander protocol. Dat wil zeggen, --protocol specificeert het transportprotocol expliciet en overschrijft de voorgaande regels, zelfs voor localhost.

alleen verbindingsopties die relevant zijn voor het geselecteerde transportprotocol worden gebruikt of gecontroleerd. Andere verbindingsopties worden genegeerd. Bijvoorbeeld, met --host=localhost op Unix, probeert de client verbinding te maken met de lokale server met behulp van een Unix socket bestand, zelfs als een --port of -P optie is gegeven om een TCP/IP poortnummer op te geven.

om er zeker van te zijn dat de client een TCP/IP-verbinding maakt met de lokale server, gebruikt u --host of -h om een hostnaam te specificeren van 127.0.0.1 (in plaats van localhost), of het IP-adres of de naam van de lokale server. U kunt het transportprotocol ook expliciet opgeven, zelfs voor localhost, door de optie --protocol=TCP te gebruiken. Bijvoorbeeld:

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

als de server is geconfigureerd om IPv6-verbindingen te accepteren, kunnen clients verbinding maken met de lokale server via IPv6 met --host=::1. Zie Paragraaf 5.1.13, “IPv6-Ondersteuning”.

in Windows, om een MySQL-client te dwingen een named-pipe-verbinding te gebruiken, geeft u de optie --pipe of --protocol=PIPE op, of specificeert u . (punt) als hostnaam. Als de server niet is gestart met denamed_pipe systeemvariabele ingeschakeld om named-pipe verbindingen te ondersteunen of als de gebruiker die de verbinding maakt geen lid is van de Windows-groep die is opgegeven door de named_pipe_full_access_group systeemvariabele, treedt er een fout op. Gebruik de optie --socket om de naam van de pijp op te geven als u de standaard pipe naam niet wilt gebruiken.

verbindingen met externe servers gebruiken TCP/IP. Dit commando maakt verbinding met de server die draait op remote.example.com met behulp van het standaard poortnummer (3306):

mysql --host=remote.example.com

om een poortnummer expliciet op te geven, gebruik de --port of -P optie:

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

u kunt ook een poortnummer opgeven voor verbindingen met een lokale server. Echter, zoals eerder aangegeven, gebruiken verbindingen met localhost op Unix standaard een socket-bestand, dus tenzij u een TCP/IP-verbinding forceert zoals eerder beschreven, wordt elke optie die een poortnummer specificeert genegeerd.

voor dit commando gebruikt het programma een socket-bestand op Unix en de optie --port wordt genegeerd:

mysql --port=13306 --host=localhost

om het poortnummer te gebruiken, forceer je een TCP/IP-verbinding. Roep het programma bijvoorbeeld op een van de volgende manieren aan:

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

voor aanvullende informatie over opties die bepalen hoe clientprogramma ‘ s verbindingen tot stand brengen met de server, zie paragraaf 4.2.3, “Command Options for Connecting to the Server”.

Het is mogelijk om verbindingsparameters op te geven zonder ze op de commandoregel in te voeren telkens wanneer u een clientprogramma aanroept:

  • specificeer de verbindingsparameters in de sectie van een optiebestand. De relevante sectie van het bestand zou er zo uit kunnen zien:

    host=host_nameuser=user_namepassword=password

    voor meer informatie, zie paragraaf 4.2.2.2,”Optiebestanden gebruiken”.

  • sommige verbindingsparameters kunnen worden opgegeven met omgevingsvariabelen. Bijvoorbeeld:

    • om de host voor mysql te specificeren, gebruik MYSQL_HOST.

    • in Windows gebruikt u USERom de MySQL-gebruikersnaam op te geven.

    voor een lijst van ondersteunde omgevingsvariabelen, zie paragraaf 4.9, “omgevingsvariabelen”.



Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.