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

mysqli::mysqli():(HY000/2002):Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo 'MySQL' (2)

Kiedy używasz tylko "localhost", biblioteka klienta MySQL próbuje użyć gniazda domeny Unix do połączenia zamiast połączenia TCP/IP. Błąd informuje, że gniazdo o nazwie MySQL , nie można użyć do nawiązania połączenia, prawdopodobnie dlatego, że nie istnieje (błąd nr 2).

Z Dokumentacji MySQL :

W systemie Unix programy MySQL traktują nazwę hosta localhost w sposób szczególny, co prawdopodobnie różni się od oczekiwanego w porównaniu z innymi programami sieciowymi. W przypadku połączeń z hostem lokalnym, programy MySQL próbują połączyć się z serwerem lokalnym przy użyciu pliku gniazda uniksowego. Dzieje się tak nawet wtedy, gdy podano opcję --port lub -P w celu określenia numeru portu. Aby upewnić się, że klient nawiązuje połączenie TCP/IP z serwerem lokalnym, użyj opcji --host lub -h, aby określić wartość nazwy hosta 127.0.0.1 lub adres IP lub nazwę serwera lokalnego. Możesz również jawnie określić protokół połączenia, nawet dla hosta lokalnego, używając opcji --protocol=TCP.

Jest kilka sposobów rozwiązania tego problemu.

  1. Możesz po prostu użyć protokołu TCP/IP zamiast gniazda uniksowego. Zrobiłbyś to za pomocą 127.0.0.1 zamiast localhost kiedy się połączysz. Gniazdo uniksowe może być jednak szybsze i bezpieczniejsze w użyciu.
  2. Możesz zmienić gniazdo w php.ini :otwórz plik konfiguracyjny MySQL my.cnf aby dowiedzieć się, gdzie MySQL tworzy gniazdo i ustawić mysqli.default_socket PHP do tej ścieżki. W moim systemie to /var/run/mysqld/mysqld.sock .
  3. Skonfiguruj gniazdo bezpośrednio w skrypcie PHP podczas otwierania połączenia. Na przykład:

    $db = new MySQLi('localhost', 'kamil', '***', '', 0, 
                                  '/var/run/mysqld/mysqld.sock')
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przechowywanie danych w MySQL w formacie JSON

  2. Baza danych kodów PIN w Indiach ze skryptem lokalizacyjnym w php i jquery

  3. MySQL tworzy składnię procedury składowanej z ogranicznikiem

  4. Jak przekonwertować czas MySQL

  5. zaimplementuj zapytanie LIKE w PDO