sql >> Database >  >> RDS >> Mysql

Log in op MySQL-account met unix_socket

Om verbinding te maken met een externe MySQL-server, rechtstreeks of via een SSH-tunnel, kunt u de unix_socket niet gebruiken authenticatie-plug-in die lokale toegang tot het unix-socketbestand op het DB Server-besturingssysteem vereist.

De unix_socket plug-in is geïmplementeerd met behulp van een speciaal type bestand (unix-socket) dat een vorm van inter-procescommunicatie (IPC) is in *nix-systemen. Het staat uw mysql CLI-client toe om met de DB te praten en het vereist lokale toegang tot het socketbestand (d.w.z.:/tmp/mysql.sock ). Wanneer u verbinding maakt met de socket, wordt de unix_socket plug-in (server-side) krijgt de uid van de gebruiker die op de socket is aangesloten (d.w.z. uwgebruiker) en authenticeert u automatisch zonder dat u een wachtwoord nodig heeft.

Mogelijke oplossingen:

Als u verbinding maakt met Machine B met een niet-rootgebruiker, moet u een DB-gebruiker maken met dezelfde naam als de naam van uw niet-rootbesturingssysteemgebruikersaccount.

GRANT ALL PRIVILEGES ON *.* TO 'youruser'@'localhost' IDENTIFIED VIA unix_socket;

Nu kunt u verbinding maken met mysql met uw gebruikersaccount en de mysql CLI-client door simpelweg het volgende uit te voeren:

youruser:~$ mysql

Als je verbinding wilt maken met de database met de rootgebruiker, dan heb je toegang nodig tot het root-account of een sudo-beleid dat aan je gebruiker is gekoppeld om de mysql-client uit te voeren.

youruser:~$ sudo mysql

U kunt uiteraard reguliere geauthenticeerde netwerktoegang tot uw DB-rootaccount inschakelen. Dit kan leiden tot beveiligingsproblemen, dus het is beter om het te beperken tot localhost:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY 'xxx' WITH GRANT OPTION;

U kunt nu inloggen vanaf elk lokaal besturingssysteemaccount als u uw login kunt verifiëren:

youruser:~$ mysql -u root -p



  1. Monitor SQL Database via SP_WhoIsActive of FogLight | Problemen met SQL Server-prestaties oplossen -1

  2. Filter tussen twee datums MYSQL

  3. Overeenkomende algoritme in SQL

  4. Wat zijn MySQL-database-engines?