Lỗi kết nối tới cơ sở dữ liệu (Error Establishing A Database Connection) là một lỗi không ít lần xảy ra khi bạn sử dụng mã nguồn WordPress. Thực ra lỗi này không phải của WordPress mà là do bạn cấu hình sai hoặc các lỗi phía máy chủ web. Chúng ta sẽ cùng tìm hiểu nguyên nhân và cách khắc phục nhé.
1. Nguyên nhân
Có một số nguyên nhân như sau:
– Thông tin database bạn nhập vào file wp-config.php bị sai.
– MySQL đang bị quá tải không thể xử lý dữ liệu gửi đi và gửi về được, thường gặp ở các host yếu, thiếu RAM hoặc bị DDoS.
– Cơ sở dữ liệu bị hỏng do một nguyên nhân nào đó, do server chết bất thình lình chẳng hạn, cũng thường gặp ở các host kém.
Với lỗi thứ nhất, đơn giản là bạn check lại các thông tin để kết nối tới cơ sở dữ liệu trong file wp-config.php
1 2 3 4 | define('DB_NAME', 'database-name'); define('DB_USER', 'database-username'); define('DB_PASSWORD', 'database-password'); define('DB_HOST', 'localhost'); |
Với lỗi thứ hai, có thể bạn đợi một lúc sẽ hết hoặc nâng cấp lên gói host tốt hơn hoặc chuyển sang sử dụng dịch vụ của NCC hosting khác! MyLop.BanMai.Info sẽ hướng dẫn bạn cách khắc phục lỗi cơ sở dữ liệu bị hỏng trong phần dưới đây.
2. Cách khắc phục cơ sở dữ liệu bị hỏng
Chiều qua server của BeeHost.vn bị down khoảng 3 tiếng, khiến MyLop.BanMai.Info và một số website khác của tôi host tại đây không thể truy cập được, sau đó đã hoạt động trở lại. Tuy nhiên, một lỗi bất ngờ xảy ra với MyLop.BanMai.Info, đó là tự nhiên nhận được thông báo như hình dưới.
Sau khi phân tích, căn cứ vào các tình tiết, không gian và thời gian, chắc chắn không phải do cấu hình sai vì web đang hoạt động ngon lành, tôi đã biết nguyên nhân chính xác là CSDL đã bị hỏng, phần lớn là do server bị down bất tử!
Để kiểm tra, bạn vào phpMyAdmin, click lên các bảng trong danh sách bên trái, nếu thấy thông báo lỗi như thế này thì xác định đi nhé!
Để khắc phục, bạn làm theo các cách sau đây.
2.1. Dùng công cụ sửa lỗi của WordPress
Bước 1) Mở file wp-config.php, thêm đoạn code sau vào dưới để bật chế độ sửa chữa CSDL trong WordPress:
1 | define('WP_ALLOW_REPAIR', true); |
Bước 2) Truy cập http://your-domain/wp-admin/maint/repair.php bạn sẽ được đưa đến cửa sổ sửa chữa CSDL thế này (với your-domain là tên miền của bạn):
Bước 3) Click “Repair Database” hoặc “Repair and Optimize Database” và đợi để script chạy. Nếu không có vấn đề gì, bạn sẽ thấy thông báo sửa chữa thành công:
Bước 4) Như thông báo ở cửa sổ trên, hãy xóa dòng define('WP_ALLOW_REPAIR', true);
trong file wp-config.php hoặc thay bằng define('WP_ALLOW_REPAIR', false);
để lần sau cần thì sửa cho nhanh.
Lưu ý, khách truy cập không cần đăng nhập vào Admin cũng có thể thực hiện được việc sửa chữa này, rất nguy hiểm! Vì thế sau khi thực hiện xong quá trình sửa chữa CSDL, hãy xóa ngay dòng code trên trong file wp-config.php, khi nào cần mới thêm vào.
Nếu bạn không thích cách này, hoặc cách này không hiệu quả, hãy thử cách dưới đây.
2.2. Tự sửa lỗi trong phpMyAdmin
Bước 1) Đăng nhập vào phpMyAdmin
Bước 2) Lựa chọn CSDL từ danh sách bên trái, VD này là _wpkbtest
Bước 3) Click “Check All” để chọn toàn bộ các bảng trong CSDL, sau đó, từ menu sổ xuống, chọn “Repair Table”
Khi hoàn thành, bạn sẽ thấy thông báo như dưới đây về kết quả và tình trạng các bảng sau khi sửa chữa.
Nếu tất cả các bảng đều OK thì OK! Hãy truy cập web của bạn để kiểm tra kết quả.
Nếu biết chính xác bảng nào bị lỗi, bạn có thể thực hiện lệnh sau trong tab SQL của phpMyAdmin để sửa:
REPAIR TABLE wp_options;
. Trong VD này là sửa bảng wp_options.
3. Kết luận
Dù là bất cứ nguyên nhân gì, lỗi kết nối tới cơ sở dữ liệu là một lỗi không thể coi thường. Đối với các trang web, CSDL đương nhiên là thứ quý giá nhất, nên bạn cần hết sức quan tâm. Đây là một số lời khuyên cho bạn:
– Thường xuyên backup cơ sở dữ liệu và mã nguồn đề phòng bất trắc.
– Thường xuyên cập nhật các bản vá, nâng cấp của WordPress cũng như các Plugin.
– Lựa chọn NCC dịch vụ hosting tốt.
– Tăng tính bảo mật cho website, đề phòng bị DDoS.
– Khi gặp sự cố, hãy nhanh chóng tìm nguyên nhân và cách khắc phục, rút kinh nghiệm
4. Tham khảo, từ khóa để tìm kiếm:
– Using wp-config.php to Automatically Repair WordPress Database Problems
– How to Repair Your WordPress Database Tables with phpMyAdmin
– How to Fix the Error Establishing a Database Connection in WordPress
– WP_ALLOW_REPAIR
– Repair MySQL Database, Error Establishing A Database Connection, Sửa lỗi cơ sở dữ liệu MySQL, Sửa lỗi kết nối tới cơ sở dữ liệu trong WordPress,…
Chúc website của các bạn luôn chạy ngon lành, tránh gặp các lỗi lớn, nguy hiểm!
Cheers,
Lục Đức Thành
Latest posts by Lục Đức Thành (see all)
- Cách hiển thị lượt truy cập ra ngoài front-end - 12/02/2023
- Sửa lỗi “không start được MySQL trong XAMPP” - 21/06/2020
- WordPress 5 có gì mới? - 23/12/2018
- Sublime Text 3 Portable Windows 64 bit - 11/12/2017
- Kỹ thuật nhúng font vào web và WordPress Theme - 12/11/2017