Không thể kết nối với mysql sock?

Tôi đã gặp lỗi này ngày hôm qua khi cố gắng kết nối với cơ sở dữ liệu mysql của mình sau khi chạy nó với NodeJS. Có rất nhiều thông tin mâu thuẫn trên web do cách bạn tải xuống mysql, phiên bản, hệ điều hành bạn đang sử dụng, v.v.

Để khắc phục nhanh trên hệ thống unix, tôi khuyên bạn nên làm như sau. Các bước bên dưới phù hợp với tôi và có thể cũng phù hợp với bạn. Tuy nhiên, bạn sẽ cần cài đặt HomeBrew nếu chưa có

Khi bạn cố gắng kết nối với máy chủ MySQL của mình thông qua dòng lệnh, bạn có thể gặp lỗi MySQL ERROR 2002 như sau

mysql -uroot -proot
ERROR 2002 (HY000): Can't connect to local MySQL server
through socket '/tmp/mysql.sock' (2)

ERROR 2002 ở trên xảy ra khi không thể tìm thấy tệp ổ cắm mysql.sock trong hệ thống tệp của bạn

Tệp này được tạo khi máy chủ MySQL được khởi động và bị xóa khi bạn dừng máy chủ

Để khắc phục lỗi này, bạn cần xem máy chủ MySQL đã được cài đặt và chạy trên máy tính chưa

Nếu bạn đang sử dụng Linux, bạn có thể cần cài đặt mysql-server ngoài gói mysql

apt-get install mysql-server mysql

Khi bạn đã cài đặt máy chủ, hãy chạy máy chủ bằng lệnh sau

sudo service mysql start
# or
sudo /etc/init.d/mysql start

Điều đó sẽ khởi động máy chủ và tạo tệp mysql.sock. Bạn có thể thử kết nối lại với máy chủ MySQL của mình ngay bây giờ

Đối với macOS

Nếu bạn đang sử dụng macOS và đã cài đặt MySQL bằng Homebrew, thì bạn cần đảm bảo rằng máy chủ đã được khởi động bằng lệnh sau

brew services start mysql

Khi MySQL đang chạy, bạn có thể thử kết nối lại bằng lệnh mysql

Cho cửa sổ

Đối với hệ điều hành Windows, bạn cần đảm bảo rằng dịch vụ MySQL đang chạy trong bảng điều khiển

apt-get install mysql-server mysql
1

Mở menu Start của Windows và tìm kiếm bảng

apt-get install mysql-server mysql
1 để xem kết quả bên dưới

Opening Services panel on WindowsMở bảng Services trên Windows

Sau đó, cuộn qua danh sách dịch vụ cho đến khi bạn đến được các dịch vụ bắt đầu bằng

apt-get install mysql-server mysql
3 để tìm dịch vụ
apt-get install mysql-server mysql
4

Thông thường, bạn có số phiên bản MySQL kèm theo tên dịch vụ

Phiên bản MySQL được cài đặt trên máy tính của tôi là MySQL

apt-get install mysql-server mysql
5 vì vậy tôi có dịch vụ
apt-get install mysql-server mysql
6 được liệt kê như hình bên dưới

Looking for MySQL in the Services panelTìm kiếm MySQL trong bảng Dịch vụ

Nếu bạn có MySQL phiên bản 7, thì bạn có thể có

apt-get install mysql-server mysql
7 được liệt kê trên bảng Dịch vụ

Như bạn có thể thấy từ hình trên, trạng thái của dịch vụ

apt-get install mysql-server mysql
6 trống, có nghĩa là nó hiện không chạy

Nếu bạn thấy trạng thái tương tự, bạn có thể chạy dịch vụ bằng cách nhấp vào liên kết

apt-get install mysql-server mysql
9 dịch vụ ở ngăn bên trái

Bây giờ bạn có thể thử kết nối lại với máy chủ MySQL của mình từ Dòng lệnh

Tóm lại, sự cố ERROR 2002 xảy ra khi máy tính của bạn không thể kết nối với máy chủ MySQL vì tệp ổ cắm bị thiếu

Tệp ổ cắm được tạo khi máy chủ MySQL khởi động, vì vậy có thể bạn cần khởi động máy chủ để nó hoạt động

Tôi cũng gặp lỗi tương tự "ERROR 2002 (HY000). Không thể kết nối với máy chủ MySQL cục bộ thông qua ổ cắm '/var/lib/mysql/mysql. vớ' (111)". Tôi đã gỡ cài đặt và cài đặt lại MySQl nhiều lần và đã dành nhiều giờ để khắc phục sự cố. Vấn đề mà tôi nhận thấy là khi tôi thêm thông tin đăng nhập vào. tệp tùy chọn cnf nằm trong /etc/my. cnf vì điều này sẽ gây ra sự cố MySQL khi khởi động dịch vụ và sẽ gây ra lỗi

Để giải quyết vấn đề này, tôi đã xóa thông tin đăng nhập khỏi tài khoản của mình. tệp tùy chọn cnf trong/etc/my. cnf và tôi tạo một. Của tôi. tệp tùy chọn cnf trong thư mục chính. Ví dụ: /home/tên người dùng/. Của tôi. cnf trong Linux (thay thế tên người dùng bằng tên người dùng của bạn trong Linux) và thêm thông tin đăng nhập vào đó. Không có vấn đề gì sau đó

Tại sao cơ sở dữ liệu MySQL không kết nối?

thông thường có nghĩa là không có máy chủ MySQL nào đang chạy trên hệ thống hoặc bạn đang sử dụng tên tệp ổ cắm Unix hoặc số cổng TCP/IP không chính xác when trying to connect to the server. You should also check that the TCP/IP port you are using has not been blocked by a firewall or port blocking service.

Làm cách nào để kết nối với MySQL thông qua ổ cắm?

Cách khắc phục 'Không thể kết nối với máy chủ MySQL cục bộ thông qua ổ cắm '/var/run/mysqld/mysqld. vớ' (2)' .
Phương pháp 1. Kiểm tra dịch vụ MySQL
Phương pháp 2. xác minh mysqld. vớ Vị trí
Phương pháp 3. Kiểm tra quyền thư mục MySQL
Phương pháp 4. Kiểm tra nhiều phiên bản MySQL

Làm cách nào để kiểm tra xem MySQL có thể truy cập được trên cổng 3306 không?

Cách đúng là sử dụng. sudo lsof -i. 3306 .

Không được phép kết nối MySQL?

Lỗi này xảy ra do cấu hình mặc định mà cơ sở dữ liệu MySQL hiện đang sử dụng . Cấu hình này chỉ cho phép kết nối từ người dùng 'root' khi đến từ 'localhost' chứ không phải các dải địa chỉ IP khác.