Lỗi Can’t connect to local MySQL server through socket ‘var/lib/mysql/mysql.sock’

Cập nhật 25/09/2024

Lỗi Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ thường xảy ra khi MySQL không thể kết nối qua socket file do một số vấn đề như MySQL server không hoạt động, quyền truy cập sai, hoặc tệp socket không tồn tại.

Dưới đây BKNS sẽ chỉ ra các nguyên nhân phổ biến và cách khắc phục lỗi Can’t connect to local MySQL server through socket ‘var/lib/mysql/mysql.sock’ cho bạn nhé!

Lỗi Can't connect to local MySQL server through socket 'varlibmysqlmysql.sock'
Lỗi Can’t connect to local MySQL server through socket ‘varlibmysqlmysql.sock’

Khắc phục lỗi Can’t connect to local MySQL server through socket ‘var/lib/mysql/mysql.sock’

MySQL Server không chạy

Một trong những nguyên nhân phổ biến nhất là MySQL server không hoạt động, khiến kết nối không thể thực hiện.

Cách khắc phục:

    • Kiểm tra trạng thái MySQL: Mở terminal và chạy lệnh sau để kiểm tra trạng thái của MySQL:

sudo systemctl status mysql

    • Nếu MySQL không hoạt động, bạn có thể khởi động lại MySQL:

sudo systemctl start mysql

    • Nếu bạn gặp lỗi khi khởi động MySQL, hãy kiểm tra log lỗi của MySQL bằng lệnh sau:

sudo tail -f /var/log/mysql/error.log

Tệp socket không tồn tại hoặc sai đường dẫn

MySQL sử dụng tệp socket để kết nối giữa MySQL client và server. Nếu tệp socket bị xóa hoặc MySQL không được cấu hình để sử dụng đúng đường dẫn, bạn sẽ gặp lỗi này.

Cách khắc phục:

    • Kiểm tra tệp socket: Xác định xem tệp socket có tồn tại hay không:

ls -l /var/lib/mysql/mysql.sock

Nếu tệp không tồn tại, bạn có thể cần phải khởi động lại MySQL server (như ở trên). Nếu vẫn không tồn tại, có thể đường dẫn tệp socket trong cấu hình MySQL bị sai.

    • Chỉnh sửa tệp cấu hình MySQL: Mở tệp cấu hình MySQL (my.cnf) và kiểm tra phần đường dẫn của socket:

sudo nano /etc/mysql/my.cnf

Tìm dòng:

socket = /var/lib/mysql/mysql.sock

Đảm bảo rằng đường dẫn đúng. Nếu MySQL sử dụng một đường dẫn khác cho tệp socket (ví dụ: /tmp/mysql.sock), hãy chỉnh sửa đường dẫn cho đúng.

    • Sửa tệp cấu hình PHP (nếu cần): Nếu PHP được cấu hình để kết nối MySQL thông qua một đường dẫn socket khác, bạn cũng cần phải chỉnh sửa tệp cấu hình PHP (php.ini):

sudo nano /etc/php/7.4/apache2/php.ini

Tìm dòng tương tự:

mysqli.default_socket = /var/lib/mysql/mysql.sock

Sửa đường dẫn sao cho đúng với tệp socket hiện tại của MySQL.

Quyền truy cập sai trên thư mục MySQL

Nếu quyền truy cập vào thư mục /var/lib/mysql hoặc tệp socket bị sai, MySQL có thể không khởi động đúng cách hoặc không thể tạo tệp socket.

Cách khắc phục:

    • Kiểm tra và sửa quyền truy cập vào thư mục MySQL:

sudo chown -R mysql:mysql /var/lib/mysql sudo chmod 755 /var/lib/mysql

Sau đó, khởi động lại MySQL:

sudo systemctl restart mysql

MySQL Server không cài đặt đúng cách

Nếu MySQL server không được cài đặt đầy đủ hoặc bị hỏng, bạn có thể gặp lỗi này.

Cách khắc phục:

    • Cài đặt lại MySQL:

sudo apt-get install --reinstall mysql-server

Sau khi cài đặt lại, khởi động MySQL:

sudo systemctl start mysql

Kiểm tra log lỗi hệ thống

Nếu các phương pháp trên không giải quyết được vấn đề, hãy kiểm tra log lỗi hệ thống của MySQL để có thêm thông tin về lỗi.

    • Kiểm tra log MySQL:

sudo tail -f /var/log/mysql/error.log

    • Kiểm tra log hệ thống:

sudo tail -f /var/log/syslog

Tổng kết

Vậy là BKNS đã chỉ ra cho bạn nguyên nhân và cách khắc phuc lỗi Can’t connect to local MySQL server through socket ‘var/lib/mysql/mysql.sock’. Chúc các bạn thành công! Đừng quên theo dõi huongdan.bkns và BKNS để không bỏ lỡ những bài viết hay và hữu ích tiếp theo nhé!

BÀI VIẾT LIÊN QUAN

Hướng Dẫn Dịch Vụ Hosting