Fix lỗi "Could not open database connection" của kloxo

Nếu server (VPS) của bạn bỗng dưng bị lỗi "Could not open database connection", mysql không thể start được

Could not open database connection. # /etc/init.d/mysqld restart
Stopping MySQL:                                            [FAILED]
Timeout error occurred trying to start MySQL Daemon.
Starting MySQL:                                            [FAILED]

thì bạn làm theo cách sau

Đầu tiên, login VPS và chạy các lệnh sau:
/etc/init.d/mysqld restart

Nếu mysql báo lỗi không thể restart được thì bạn cần kiểm tra xem ỗ cứng của bạn có bị đầy không bằng lệnh: df -h

Mặc định Kloxo lưu trữ log rất nhiều, hàng ngày những log quá 50Mb sẽ tự động được chuyển vào thư mục có tên là __proccess_stat trong thư mục /home/account

Bạn dùng lệnh sau quyét toàn bộ Server để kiểm tra những file lớn được sinh ra và lưu ở đâu.

# Tìm tất các file có dung lượng lớn hơn 50MB và sắp xếp thứ tự giảm dần:

find / -type f -size +50000k -exec ls -lh {} \; 2> /dev/null | awk '{ print $NF ": " $5 }' | sort -nrk 2,2

khi tìm thấy các file có dung lượng lớn mà bạn thấy nó không phải là file hệ thống, file quan trọng thì bạn tiến hành xóa những file đó đi để giải phóng dung lượng ổ đĩa bằng lệnh

rm -Rf đường dẫn file muốn xóa

Tiếp theo thì bạn thử start lại mysql xem ok chưa bằng lệnh: service mysqld start hoặc /etc/init.d/mysqld restart

Nếu mysql khởi động ok thì bạn đã fix xong và lúc này bạn có thể truy cập lại kloxo bình thường.

sau đó bạn sẽ login bình thường vào

http://ip:7778/login/

username: admin

 

Ngoài ra bị hết HDD cũng chỉ là 1 nguyên nhân, nhưng nguyên nhân chủ yếu dẫn điến MYSQL Server ko thể STOP/START được đó là trong quá trình user chạy các tiến trình BACKUP/RESTORE database với dung lượng lớn và chứa nhiều PK trong file dump.
Quá trình diễn quá vượt ngoài tầm kiểm soát của mysqld đến file .sock, trong khi đó mysql process vẫn cố gắng thực hiện công việc dưới console mà không được thông báo stop khi mysqld đã crash.

Để khắc phục tình trạng này trong my.conf nên giới hạn bằng những thông số sau:

Bổ sung hoặc chỉnh sửa phần [mysqld]

server-id=1
interactive_timeout=20
wait_timeout=10
connect_timeout=5
skip-locking
concurrent_insert=2
low_priority_updates=1

Để có thể khởi động lại MYSQL Server khi bị hiện tượng vậy cần kill toàn bộ các process liên quan đang treo bằng cách sau:

pkill -u mysql <-- Hủy các process mà user mysql đang thực thi.

killall -9 mysqld <-- Bắt buộc Service MySQLD phải stop và thoát khỏi MEM

/etc/init.d/mysqld restart

sh /script/fix-program-mysql

tiếp tục hạy lệnh:
sh /script/resetpassword master <new password>

sau đó bạn sẽ login bình thường vào

http://ip:7778/login/

username: admin

 

Chúc bạn fix lỗi thành công!

(DVMS)

Hồ sơ năng lực xem tại: Scribd | Slideshare

CTY DVMS

150/30 Đường Trục, Phường 13, Q. Bình Thạnh, TP.HCM, Việt Nam.

02836028937 | 02835531145

02835531145

This email address is being protected from spambots. You need JavaScript enabled to view it.

Văn Phòng Hà Nội

Tầng 9 số 169 Nguyễn Ngọc Vũ, P. Trung Hòa, Q. Cầu Giấy, Hà Nội, Việt Nam

02836028937 | 02835531145

02835531145

This email address is being protected from spambots. You need JavaScript enabled to view it.

Đại diện tại Hải Phòng

Hải Phòng, Việt Nam

02836028937 | 02835531145

02835531145

This email address is being protected from spambots. You need JavaScript enabled to view it.