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!
Leave a Reply