Khi sử dụng dịch vụ MySQL ta gặp phải tình huống như:

#mysql -u root -p

Enter password:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

Nguyên nhân là do không thể kết nối đến MySQL server thông qua soket nằm tại đường dẫn trên, bạn có thể thực hiện theo hướng dẫn sau đây để có thể fix được lỗi trên

Bước 1: Kiểm tra tập tin “mysql.sock” có trong đường dẫn /var/lib/mysql/ hay không:

#cd /var/lib/mysql
#ls -l

Nếu như không có thì ta tiến hành sử dụng câu lệnh sau để tìm kiếm file “mysql.sock”.

#find / -name mysql.sock

Bước 2: Sau khi tiến hành xác định được tập tin mysql.sock, ta tiến hành chỉnh sửa thông số lại trong file my.cnf.

#vi /etc/my.cnf

Bước 3: Thêm dòng sau vào:

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

(do file mysql.sock đặt tại đường dẫn /var/lib/mysql/)

Bước 4: Chmod thư mục

#chmod -R 777 /var/lib/mysql/

Bước 5: Thực hiện lại việc kiểm tra trạng thái MySQL.

#mysqladmin -u root -p status

Ngoài ra, nếu như đường dẫn file “mysql.sock” nằm ở đường dẫn khác, bạn có thể thực hiện các thao tác như sau:

#mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bk

Tạo liên kết mềm tới đường dẫn:

#ln -s /data/mysql_datadir/mysql.sock /var/lib/mysql/mysql.sock

(ví dụ đường dẫn file “mysql.sock” nằm ở /data/mysql_datadir)

Tiến hành restart lại dịch vụ mysql.

#service mysql restart

Chúc bạn thực hiện thành công!