Nếu bạn là người dùng WordPress, có lẽ không có thông báo lỗi nào quen thuộc và đáng lo ngại hơn “Error Establishing a Database Connection”. Lỗi này khiến toàn bộ website của bạn không thể truy cập được. Tuy nhiên, đừng quá hoảng sợ, đây là một lỗi có thể chẩn đoán và khắc phục.
Lỗi “Error Establishing a Database Connection” là gì?
Lỗi này có nghĩa là mã nguồn PHP của website bạn không thể kết nối được với cơ sở dữ liệu (database) MySQL.
Hãy tưởng tượng website WordPress của bạn được cấu thành từ hai phần chính:
- Các file mã nguồn (core, themes, plugins): Giống như một ứng dụng phần mềm.
- Cơ sở dữ liệu (database): Nơi lưu trữ tất cả nội dung của bạn như bài viết, trang, thông tin người dùng, cài đặt…
Để hiển thị trang web, mã nguồn phải “gọi” và lấy dữ liệu từ database. Khi kết nối này vì một lý do nào đó bị gián đoạn, thông báo lỗi trên sẽ xuất hiện.
Các Bước Kiểm Tra và Khắc Phục Chi Tiết
Bước 1: Kiểm Tra Thông Tin Kết Nối trong file wp-config.php
Đây là nguyên nhân phổ biến nhất, đặc biệt là sau khi bạn vừa di chuyển website từ hosting này sang hosting khác. Thông tin kết nối database không chính xác sẽ khiến website không thể “tìm” thấy nơi lưu trữ nội dung của mình.
- Cách thực hiện:
- Đăng nhập vào trình quản lý file của hosting hoặc sử dụng FTP.
- Tìm và mở file wp-config.php trong thư mục gốc của website.
- Tìm đến các dòng code sau và kiểm tra cẩn thận từng giá trị:
PHP
// ** Database settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define( ‘DB_NAME’, ‘ten_database’ );
/** Database username */
define( ‘DB_USER’, ‘ten_nguoi_dung_database’ );
/** Database password */
define( ‘DB_PASSWORD’, ‘mat_khau_database’ );
/** Database hostname */define( ‘DB_HOST’, ‘localhost’ );
-
- Hãy chắc chắn rằng các giá trị DB_NAME, DB_USER, và DB_PASSWORD hoàn toàn trùng khớp với thông tin database mà ESC đã cung cấp cho bạn. Giá trị DB_HOST thường là localhost, nhưng đôi khi có thể khác, hãy xác nhận lại với nhà cung cấp hosting.
Bước 2: Sửa Chữa Cơ Sở Dữ Liệu (Database)
Đôi khi, database của bạn có thể bị hỏng (corrupted), đặc biệt là bảng wp_options, gây ra lỗi kết nối. WordPress có một công cụ sửa chữa tích hợp sẵn cho trường hợp này.
- Cách thực hiện:
- Mở file wp-config.php của bạn.
- Thêm dòng code sau vào ngay phía trên dòng /* That’s all, stop editing! Happy publishing. */:
PHP
define(‘WP_ALLOW_REPAIR’, true);
-
- Lưu file lại.
- Bây giờ, truy cập vào đường dẫn sau trên trình duyệt của bạn:
- http://yourwebsite.com/wp-admin/maint/repair.php (thay yourwebsite.com bằng tên miền của bạn).
- Bạn sẽ thấy một trang với hai lựa chọn. Hãy nhấp vào nút Repair Database (Sửa chữa Cơ sở dữ liệu).
- WordPress sẽ tự động quét và sửa chữa các bảng bị lỗi.
- QUAN TRỌNG: Sau khi sửa chữa xong, hãy quay lại file wp-config.php và xóa dòng code define(‘WP_ALLOW_REPAIR’, true); bạn đã thêm vào để tránh người khác có thể truy cập vào công cụ này.
Nếu cách trên không hiệu quả, bạn cũng có thể sử dụng phpMyAdmin trong cPanel/DirectAdmin, chọn database của bạn, chọn tất cả các bảng và chọn hành động Repair table.
Bước 3: Kiểm Tra Máy Chủ Database
Trong một số trường hợp, lỗi không đến từ website của bạn mà do máy chủ database của nhà cung cấp hosting đang gặp sự cố.
- Cách kiểm tra:
- Kiểm tra các website khác: Nếu bạn có nhiều website khác chạy trên cùng một gói hosting, hãy thử truy cập chúng. Nếu tất cả các website đều gặp lỗi kết nối database, khả năng cao là máy chủ database đang gặp vấn đề.
- Thử truy cập phpMyAdmin: Đăng nhập vào cPanel/DirectAdmin và thử truy cập vào phpMyAdmin. Nếu bạn cũng không thể kết nối vào phpMyAdmin, đây là một dấu hiệu nữa cho thấy máy chủ database đang bị lỗi.
Trong trường hợp này, bạn không thể tự khắc phục được. Hãy liên hệ ngay với Bộ phận Hỗ trợ của ESC. Đội ngũ kỹ thuật của chúng tôi sẽ kiểm tra tình trạng máy chủ và xử lý sự cố trong thời gian sớm nhất.