Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zaloguj się na konto MySQL za pomocą unix_socket

Aby połączyć się ze zdalnym serwerem MySQL, czy to bezpośrednio, czy przez tunel SSH, nie możesz użyć unix_socket wtyczka uwierzytelniająca, która wymaga lokalnego dostępu do pliku gniazda unix w systemie operacyjnym DB Server.

unix_socket plugin jest zaimplementowany za pomocą specjalnego typu pliku (gniazdo unix), który jest formą komunikacji międzyprocesowej (IPC) w systemach *nix. Pozwala klientowi mysql CLI komunikować się z bazą danych i wymaga lokalnego dostępu do pliku gniazda (np.:/tmp/mysql.sock ). Kiedy łączysz się z gniazdem, unix_socket wtyczka (po stronie serwera) uzyska identyfikator użytkownika podłączonego do gniazda (tj. Twój użytkownik) i automatycznie uwierzytelni Cię bez konieczności podawania hasła.

Możliwe rozwiązania:

Jeśli łączysz się z komputerem B za pomocą użytkownika innego niż root, musisz utworzyć użytkownika bazy danych o tej samej nazwie, co nazwa konta użytkownika innego niż root systemu operacyjnego.

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

Teraz możesz połączyć się z mysql za pomocą swojego konta użytkownika i klienta mysql CLI, po prostu uruchamiając:

youruser:~$ mysql

Jeśli chcesz połączyć się z bazą danych z użytkownikiem root, potrzebujesz dostępu do konta root lub zasad sudo powiązanych z twoim użytkownikiem, aby uruchomić klienta mysql.

youruser:~$ sudo mysql

Możesz oczywiście włączyć regularny, uwierzytelniony dostęp sieciowy do swojego konta root bazy danych. Może to prowadzić do problemów z bezpieczeństwem, więc lepiej ograniczyć je do hosta lokalnego:

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

Teraz możesz zalogować się z dowolnego lokalnego konta systemu operacyjnego, jeśli możesz uwierzytelnić swój login:

youruser:~$ mysql -u root -p



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak obliczyć dziennych aktywnych użytkowników (DAU) w MySQL?

  2. VBA - otrzymuję błąd „mysql server is --read-only”, ale tylko podczas korzystania z RecordSet

  3. Problemy ze sprawdzeniem, czy tabela istnieje, czy nie w db

  4. Pole wyboru PHP ustawione do sprawdzenia na podstawie wartości bazy danych

  5. Ukrywanie komunikatu o błędzie PHP/MySQL