Trang chủ > Dịch vụ VPS > Hệ điều hành Centos > Công cụ quản trị hosting Direct Admin > Lỗi: Error connecting to MySQL: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

Lỗi: Error connecting to MySQL: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

Nêu như bạn gặp lỗi không thể kết nối tới file mysql.sock. 

Bạn có thể thực hiện theo các bước sau để xử lý lỗi này: 

1. Kiểm tra sự tồn tại của file mysql.sock

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

Sẽ thu được kết quả: 

[root@tenten-VPS]# ls -la /var/lib/mysql/mysql.sock
ls: cannot access /var/lib/mysql/mysql.sock: No such file or directory

2. Kiểm tra nếu sự thiết lập của bạn ( trong file my.cnf ) đã thay đổi đường dẫn của file mysql.sock .

netstat -lnp | grep mysql

Nếu kết quả thu được: 

[root@tenten-VPS]# netstat -lnp | grep mysql
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      25151/mysqld        
unix  2      [ ACC ]     STREAM     LISTENING     27600272 25151/mysqld        /var/lib/mysql/mysql.sock

Tức là đường dẫn đến file mysql.sock không sai, như vậy file mysql.sock đã không được tạo ra.

3. Kiểm tra sự hoạt động dịch vụ mysql

ps ax | grep mysql

Kết quả thu được như sau:

[root@tenten-VPS]# ps ax | grep mysql
16343 ?        S      0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/tenten.myvps.vn.pid
16653 ?        Sl     2:50 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/tenten.myvps.vn.err --open-files-limit=8192 --pid-file=/var/lib/mysql/tenten.myvps.vn.pid
19786 pts/1    S+     0:00 grep mysql

Như vậy, dịch vụ mysql đang hoạt động bình thường.

4. Khởi động lại dịch vụ mysql nhằm mục đích khởi tạo lại file mysql.sock.

cách 1: 

Sử dụng lệnh: 

/etc/init.d/mysqld stop

Kết quả thu được:

[root@tenten-VPS ~]# /etc/init.d/mysqld stop
Shutting down MySQL............................ SUCCESS! 

Tiếp theo: 

/etc/init.d/mysqld start

Kết quả:

[root@tenten-VPS ~]# /etc/init.d/mysqld start
Starting MySQL.............................. SUCCESS! 

Kiểm tra lại sự tồn tại của file mysql.sock

[root@tenten-VPS ~]# ls -la /var/lib/mysql/mysql.sock
srwxrwxrwx 1 mysql mysql 0 Sep 29 10:32 /var/lib/mysql/mysql.sock

Cách 2:

Sử dụng lệnh sau:

killall -9 mysqld mysqld_safe
killall -9 mysqld mysqld_safe

Sau đó bật lại dịch vụ mysql

/etc/init.d/mysqld start

Kết quả thu được như sau:

[root@tenten-VPS ~]# /etc/init.d/mysqld start
Starting MySQL.............................. SUCCESS! 

Cuối cùng, kiểm tra lại sự tồn tại của file mysql.sock như cách trên.