07/09/2018, 10:47

Homebrew: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.so'

Rất nhiều developer khi cài đặt MySQL server sử dụng Homebrew trên Mac OS và sau đó chạy thì gặp phải lỗi sau: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.so' Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu cách làm thế nào để khắc phục lỗi trên. ...

Rất nhiều developer khi cài đặt MySQL server sử dụng Homebrew trên Mac OS và sau đó chạy thì gặp phải lỗi sau:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.so'

Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu cách làm thế nào để khắc phục lỗi trên.

Bước 1: Kiểm Tra Hoạt Động Của MySQL Server

Bước đầu tiên bạn cần làm đó để kiểm tra trạng thái của MySQL database server đó là tạo một connection tới MySQL server sử dụng MySQL client. Điều này có thể sẽ giúp chúng ta có thêm thông tin về lỗi kết nối tới MySQL ở trên:

$ mysql -u root -p

Thông thường câu lệnh trên sẽ trả về lỗi giống như khi bạn chạy ứng dụng. Nếu không bạn cần kiểm tra lại setting để kết nối tới MySQL trong ứng dụng.

Tiếp theo bạn kiểm tra hoạt động của MySQL database server:

$ ps aux | grep mysql

Hoặc (thay địa chỉ đường dẫn tới mysqladmin bằng đường dẫn trên máy của bạn):

/usr/local/Cellar/mysql55/5.5.49/bin/mysqladmin -u root -p status

Nếu MySQL server không hoạt động bạn cần khởi động (hoặc khởi động lại) chương trình này:

$ /usr/local/Cellar/mysql55/5.5.49/bin/mysql.server restart

Bước 2: Kiểm Tra Thư Mục /usr/local/var/mysql

Một trong số nguyên nhân phổ biến dẫn tới lỗi trên đó là thư mục cài đặt MySQL/usr/local/var/mysql (hoặc một địa chỉ tương tự bạn sử dụng khi cài MySQL) chưa được đặt đúng quyền và do đó bạn sẽ cần thay đổi lại quyền cho thư mục này. Sẽ rất hữu ích nếu bạn xem qua nội dung bên trong thư mục này:

$ ll /usr/local/var/mysql

Tiếp theo để cài đặt quyền cho user chạy MySQL có quyền viết lên đó bạn sử dụng câu lệnh sau:

sudo chown -R _mysql:mysql /usr/local/var/mysql

Hoặc (không kiến nghị cách này vì kém bảo mật):

sudo chmod -R 777 /usr/local/var/mysql

Sau đó khởi động lại MySQL.

$ brew services  restart mysql

Bước 3: Tắt Các Chương Trình MySQL Trước Đó

Nếu cả hai bước trên đều không phát huy tác dụng thì có thể bạn cần kiểm tra lại xem trước đó đã có chương trình MySQL server nào được cài đặt và đã chạy hay chưa. Thông thường Apple cài đặt sẵn chương trình MySQL server cho các máy tính sử dụng hệ điều hành Mac OS. Để kiểm tra bạn vào System Preferences và tìm kiếm cho MySQL Server:

MySQL server status

Bạn cân chắc chắn rằng MySQL server mặc định của Mac đã được stopped.

Cuối cùng nếu bạn có cài đặt MAMP trên máy thì bạn cần đảm bảo rằng chương trình MySQL của gói phần mềm này đã được dừng lại trước khi sử dụng MySQL cài đặt sử dụng Homebrew.

0