Nếu bạn đang đọc bài viết này, có lẽ bạn vừa gặp phải lỗi đáng sợ “Error Establishing a Database Connection” (EEDC – Lỗi kết nối cơ sở dữ liệu). Là một chủ sở hữu website WordPress, việc nhìn thấy một màn hình trắng với thông báo lỗi này chắc hẳn là một trong những cơn ác mộng tồi tệ nhất.
Hiện tại, bạn có lẽ đang hoảng loạn và cố gắng tìm hiểu xem điều gì đã xảy ra, nhưng hãy yên tâm vì chúng tôi có thể giúp bạn khắc phục.
Lỗi “Error Establishing a Database Connection” khá phổ biến và thường có thể được khắc phục nhanh chóng.
Điều gây khó chịu nhất về lỗi này là bạn có thể gặp phải nó ngay cả khi bạn không thực hiện bất kỳ thay đổi nào trên website của mình. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn các nguyên nhân có thể gây ra lỗi và giải thích một số cách khắc phục.
Tại sao bạn thấy lỗi “Error Establishing a Database Connection”?
Các lỗi website là điều không thể tránh khỏi; một số lỗi nghiêm trọng hơn những lỗi khác và một số có thể nằm ngoài tầm kiểm soát của bạn. Đôi khi hệ thống gặp sự cố; đôi khi bạn vô tình gây ra lỗi.
Website của bạn sẽ hiển thị lỗi “Error Establishing a Database Connection” khi WordPress không thể truy cập cơ sở dữ liệu MySQL của bạn.
Các nguyên nhân khiến WordPress không thể kết nối với cơ sở dữ liệu có thể bao gồm:
- Thông tin đăng nhập đã thay đổi.
- Máy chủ không phản hồi.
- Cơ sở dữ liệu hoặc các tệp WordPress bị hỏng.
- Lượng truy cập tăng đột biến.
Bước 1: Kiểm tra lỗi trên cả giao diện trước và giao diện quản trị
Điều đầu tiên bạn cần làm là kiểm tra xem bạn có nhận được cùng một thông báo lỗi “Error establishing a database connection”, trên cả giao diện trước (frontend – yoursite.com) và giao diện quản trị (backend – wp-admin) của trang web hay không.
- Nếu cả hai đều hiển thị lỗi này, bạn có thể chuyển sang Bước 3.
- Nếu giao diện quản trị hiển thị thông báo khác (ví dụ: “Cơ sở dữ liệu cần được sửa chữa”), hãy làm theo hướng dẫn trong Bước 2.
Bước 2: Sửa chữa cơ sở dữ liệu
- Xác định tệp
wp-config.php
, thường nằm trong thư mục gốc của WordPress (nơi WordPress được cài đặt). - Mở tệp này ở chế độ chỉnh sửa.
- Thêm đoạn mã sau vào cuối tệp:
define('WP_ALLOW_REPAIR', true);
- Lưu thay đổi.
- Truy cập:
yoursite.com/wp-admin/maint/repair.php
.
- Tại màn hình mở ra, chọn “Repair Database” hoặc “Repair and Optimize Database”.
- Sau khi hoàn tất, quay lại tệp
wp-config.php
và xóa đoạn mã vừa thêm. - Kiểm tra lại website xem lỗi đã được khắc phục chưa. Nếu vẫn xuất hiện lỗi “Error Establishing a Database Connection”, tiếp tục với Bước 3.
Bước 3: Xác minh thông tin đăng nhập
Xác định xem bạn có thông tin đăng nhập chính xác trong tệp wp-config.php
hay không. Đây có thể là tệp quan trọng nhất trong toàn bộ cài đặt WordPress. Bạn cần đối chiếu bốn thông tin sau với thông tin được lưu trữ trong cơ sở dữ liệu của bạn:
define('DB_NAME', 'database-name'); // Tên cơ sở dữ liệu define('DB_USER', 'database-username'); // Tên người dùng cơ sở dữ liệu define('DB_PASSWORD', 'database-password'); // Mật khẩu cơ sở dữ liệu define('DB_HOST', 'localhost'); // Máy chủ cơ sở dữ liệu
1. Kiểm tra DB_NAME:
- Đăng nhập vào phpMyAdmin.
- Nhấp vào tab Databases để xem danh sách các cơ sở dữ liệu.
- Nếu tên cơ sở dữ liệu xuất hiện trong danh sách và khớp với giá trị DB_NAME, thì vấn đề không nằm ở tên cơ sở dữ liệu.
- Nếu không thấy tên cơ sở dữ liệu, bạn cần liên hệ với nhà cung cấp hosting vì có thể đây là sự cố của máy chủ.
2. Kiểm tra DB_USER và DB_PASSWORD:
- Tạo một tệp PHP mới và lưu nó trong thư mục gốc của WordPress.
- Để tạo tệp mới: Mở thư mục gốc WordPress, nhấp vào New File, và lưu tệp với bất kỳ tên nào bạn muốn (ví dụ:
check.php
). - Mở tệp trong Code Editor (trình soạn thảo mã) và dán đoạn mã sau:
<?php $link = mysqli_connect('localhost', 'root', 'password');if (!$link) { die('Could not connect: ' . mysqli_connect_error()); } echo 'Connected successfully'; ?>
- Thay thế localhost, root, và password bằng thông tin DB_HOST, DB_USER, và DB_PASSWORD trong tệp
wp-config.php
.
3. Kiểm tra kết nối:
- Truy cập:
yoursite.com/check.php
. - Nếu bạn nhận được thông báo “Connected successfully”, thông tin đăng nhập là chính xác.
- Nếu nhận được thông báo “Could not connect…”, bạn đã xác định được vấn đề.
4. Khắc phục:
- Tạo thông tin đăng nhập mới trong cơ sở dữ liệu của bạn.
- Cập nhật tệp
wp-config.php
với thông tin đăng nhập mới.
Bước 4: Sửa chữa tệp WordPress bị hỏng
Xóa bỏ các tệp có vấn đề có thể khắc phục lỗi, nhưng chỉ cần một sai sót nhỏ cũng có thể khiến toàn bộ website của bạn bị mất. Trước khi xóa hoặc khôi phục bất kỳ tệp nào, hãy đảm bảo bạn sao lưu toàn bộ website WordPress của mình.
- Sao lưu website của bạn:
- Đảm bảo rằng toàn bộ dữ liệu và tệp tin của website được lưu trữ an toàn.
- Tải xuống và chuẩn bị bản sao WordPress mới:
- Tải về một bản sao WordPress mới từ trang chính thức (wordpress.org).
- Giải nén gói WordPress vừa tải xuống.
- Xóa các tệp có vấn đề:
- Không xóa tệp
wp-config.php
và thư mụcwp-content
, vì đây là nơi chứa cấu hình quan trọng và nội dung của website bạn. - Xóa các tệp còn lại trong thư mục WordPress hiện tại.
- Không xóa tệp
- Tải các tệp WordPress mới lên:
- Tải lên các tệp vừa giải nén (ngoại trừ
wp-config.php
vàwp-content
) vào thư mục gốc WordPress trên máy chủ của bạn. Điều này sẽ thay thế các tệp bị hỏng.
- Tải lên các tệp vừa giải nén (ngoại trừ
- Kiểm tra lại website:
- Tải lại website của bạn.
- Nếu lỗi vẫn xuất hiện, hãy thử xóa bộ nhớ đệm trình duyệt và tải lại website một lần nữa.
- Nếu lỗi vẫn còn:
- Liên hệ với nhà cung cấp dịch vụ hosting của bạn để được hỗ trợ thêm.
Bước 5: Kiểm tra lượng truy cập cao
Hãy kiểm tra xem liệu lượng truy cập cao có phải là nguyên nhân gây ra lỗi đáng sợ “Error Establishing a Database Connection” hay không. Nếu bạn đang sử dụng hosting chia sẻ, rất có khả năng đây chính là vấn đề. Máy chủ lưu trữ của bạn có thể bị quá tải và không thể xử lý được lượng khách truy cập lớn vào website.
- Gọi cho nhà cung cấp hosting của bạn và hỏi xem máy chủ MySQL của họ có đang hoạt động ổn định không.
- Nếu bạn cảm thấy tự tin, bạn cũng có thể tự kiểm tra.
Hãy thử kiểm tra các trang web khác đang sử dụng cùng máy chủ chia sẻ với bạn. Nếu các trang web đó cũng gặp vấn đề tương tự, thì chắc chắn có sự cố với máy chủ MySQL.
Nếu vấn đề này xảy ra thường xuyên với website của bạn, bạn nên nghiêm túc cân nhắc chuyển sang hosting chuyên dụng (dedicated hosting) hoặc VPS (Virtual Private Server).
Tránh lỗi này trong tương lai
Không có cách nào đảm bảo website sẽ hoạt động 100% không có lỗi. Tuy nhiên, để giảm thiểu khả năng gặp phải các lỗi website, chúng tôi khuyến khích bạn làm việc với một nhà cung cấp dịch vụ hosting chất lượng và sao lưu dữ liệu thường xuyên.
Một phương pháp tốt trong WordPress là cài đặt plugin bảo mật để tự động chạy các kiểm tra định kỳ, giúp bạn luôn được thông báo về tình trạng của website.