Sửa lỗi kết nối tới cơ sở dữ liệu trong WordPress

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

PHP Code:
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! MyLớp.edu.vn 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 MyLớp.edu.vn 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 MyLớp.edu.vn, đó là tự nhiên nhận được thông báo như hình dưới.

Hướng dẫn sửa lỗi kết nối tới cơ sở dữ liệu trong WordPress

Hướng dẫn sửa lỗi kết nối tới cơ sở dữ liệu trong WordPress

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é!

Crashed Table - Bảng bị hỏng

Crashed Table – Bảng bị hỏng

Để 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:

PHP Code:
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):

Wordpress Database Repair and Optimize

WordPress Database Repair and Optimize

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:

Successful wordpress database repair and optimize

Successful wordpress database repair and optimize

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

Lựa chọn CSDL để sửa

Lựa chọn CSDL để sửa

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

Repair Table

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.

Sửa chữa thành công

Sửa chữa thành công

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,

The following two tabs change content below.
Tôi là kỹ sư Cơ khí, kỹ sư CNTT trường ĐH Bách Khoa Hà Nội. Tôi hoạt động trong lĩnh vực CNTT, bao gồm Software Development, Web Design, Web Development, Interactive Multimedia and Mobile App, Mobile Game Development. Tôi rất yêu công nghệ và tôi lập ra trang web này để chia sẻ kiến thức về công nghệ với mọi người.

Leave a Reply

Your email address will not be published. Required fields are marked *

*
*
Website