Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

mysqli ::mysqli ():(HY000 / 2002):Không thể kết nối với máy chủ MySQL cục bộ thông qua socket 'MySQL' (2)

Khi bạn chỉ sử dụng "localhost", thư viện máy khách MySQL sẽ cố gắng sử dụng ổ cắm miền Unix cho kết nối thay vì kết nối TCP / IP. Lỗi cho bạn biết rằng ổ cắm, được gọi là MySQL , không thể được sử dụng để tạo kết nối, có thể vì nó không tồn tại (lỗi số 2).

Từ Tài liệu MySQL :

Trên Unix, các chương trình MySQL xử lý tên máy chủ lưu trữ là localhost đặc biệt, có thể khác với những gì bạn mong đợi so với các chương trình dựa trên mạng khác. Đối với các kết nối đến máy chủ cục bộ, chương trình MySQL cố gắng kết nối với máy chủ cục bộ bằng cách sử dụng tệp ổ cắm Unix. Điều này xảy ra ngay cả khi tùy chọn --port hoặc -P được đưa ra để chỉ định số cổng. Để đảm bảo rằng máy khách tạo kết nối TCP / IP với máy chủ địa phương, hãy sử dụng --host hoặc -h để chỉ định giá trị tên máy chủ là127.0.0.1, hoặc địa chỉ IP hoặc tên của máy chủ cục bộ. Bạn cũng có thể chỉ định giao thức kết nối một cách rõ ràng, ngay cả đối với máy chủ cục bộ, bằng cách sử dụng tùy chọn --protocol =TCP.

Có một số cách để giải quyết vấn đề này.

  1. Bạn chỉ có thể sử dụng TCP / IP thay vì ổ cắm Unix. Bạn sẽ thực hiện việc này bằng cách sử dụng 127.0.0.1 thay vì localhost khi bạn kết nối. Tuy nhiên, ổ cắm Unix có thể sử dụng nhanh hơn và an toàn hơn.
  2. Bạn có thể thay đổi ổ cắm trong php.ini :mở tệp cấu hình MySQL my.cnf để tìm nơi MySQL tạo socket và đặt mysqli.default_socket của PHP đến con đường đó. Trên hệ thống của tôi, đó là /var/run/mysqld/mysqld.sock .
  3. Định cấu hình ổ cắm trực tiếp trong tập lệnh PHP khi mở kết nối. Ví dụ:

    $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. MySQL:làm thế nào để có được sự khác biệt giữa hai dấu thời gian trong vài giây

  2. Bảng SQL với mục nhập danh sách so với bảng SQL với một hàng cho mỗi mục nhập

  3. Cách tạo bảng tổng hợp động trong MySQL

  4. Thoát khỏi báo giá đơn trong PHP khi chèn vào MySQL

  5. .NET Core 2.1 Identity nhận tất cả người dùng với các vai trò liên quan của họ