Bỏ qua tới nội dung
Sửa lỗi website· ·6 phút đọc

Cách sửa lỗi Error establishing a database connection

Vũ Đức Minh
Cách sửa lỗi Error establishing a database connection
Cỡ chữ

Lỗi “Error establishing a database connection” nghĩa là WordPress không kết nối được tới cơ sở dữ liệu chứa toàn bộ nội dung web. Nguyên nhân phổ biến nhất là sai thông tin kết nối trong file cấu hình — đặc biệt sau khi chuyển host. Bài này đi từ cách kiểm dễ nhất tới khôi phục từ sao lưu.

Bốn nguyên nhân thường gặp

  • Sai thông tin trong wp-config.php (phổ biến nhất, nhất là sau khi đổi host).
  • Máy chủ cơ sở dữ liệu quá tải hoặc sập (quá nhiều kết nối đồng thời).
  • Cơ sở dữ liệu bị hỏng (bảng lỗi do plugin/theme tồi hoặc cập nhật lỗi).
  • File lõi WordPress hỏng (do truyền FTP lỗi hoặc bị tấn công).

Cách sửa theo thứ tự

  1. Kiểm bốn giá trị trong wp-config.phpDB_NAME, DB_USER, DB_PASSWORD, DB_HOST — so với thông tin trong control panel của host. DB_HOST thường là localhost nhưng một số host dùng địa chỉ riêng.
  2. Dùng công cụ sửa cơ sở dữ liệu của WordPress: thêm tạm define('WP_ALLOW_REPAIR', true); vào wp-config.php, mở tenmien.com/wp-admin/maint/repair.php, chọn “Repair Database”. Xong phải xoá ngay dòng đó — trang này không cần đăng nhập nên để lại là một lỗ hổng.
  3. Repair bảng qua phpMyAdmin nếu cần.
  4. Tắt plugin / đổi theme mặc định nếu nghi xung đột.
  5. Hỏi host nếu báo “quá nhiều kết nối” — có thể máy chủ cơ sở dữ liệu đang quá tải.
  6. Khôi phục từ sao lưu nếu mọi cách trên không xong — xem bài khôi phục website từ backup.

Mẹo kiểm DB_HOST khi đổi host

Giá trị DB_HOST là nơi nhiều người vấp khi chuyển nhà cung cấp. Đa số host dùng localhost, nhưng một số (đặc biệt host lớn hoặc khi cơ sở dữ liệu nằm trên máy chủ riêng) dùng một địa chỉ hoặc cổng khác — bạn phải lấy đúng giá trị này trong control panel của host mới. Nếu ba giá trị tên cơ sở dữ liệu, người dùng, mật khẩu đều đúng mà vẫn lỗi, thì DB_HOST sai là nghi can số một.

Trường hợp lỗi báo “Too many connections” thì không phải do wp-config.php — đó là máy chủ cơ sở dữ liệu đang quá tải vì quá nhiều truy cập đồng thời, cần host can thiệp hoặc nâng cấp gói.

Sai lầm cần tránh

Sai lầm phổ biến nhất là để nguyên dòng WP_ALLOW_REPAIR sau khi sửa xong — trang repair không yêu cầu đăng nhập, để lâu là cửa cho kẻ xấu. Luôn xoá nó ngay khi xong.

Phòng tái diễn

Lưu lại thông tin cơ sở dữ liệu khi chuyển host; sao lưu cơ sở dữ liệu định kỳ; chọn host đủ tài nguyên. Cần hỗ trợ khôi phục gấp, xem dịch vụ sửa chữa website.

Sửa bảng hỏng bằng phpMyAdmin

Nếu nghi cơ sở dữ liệu bị hỏng bảng (lỗi thường lúc có lúc không, hoặc một phần web lỗi), bạn có thể sửa qua phpMyAdmin trong control panel của host:

  1. Mở phpMyAdmin, chọn đúng cơ sở dữ liệu của web ở cột trái.
  2. Đánh dấu các bảng nghi hỏng (hoặc tích “Chọn tất cả”).
  3. Ở menu thả xuống cuối danh sách, chọn “Repair table” (Sửa bảng).

phpMyAdmin sẽ thử sửa cấu trúc bảng. Cách này an toàn hơn công cụ repair tích hợp của WordPress ở chỗ không cần thêm dòng lệnh vào wp-config.php (và do đó không để lại lỗ hổng). Dù vậy, hãy luôn sao lưu cơ sở dữ liệu trước khi sửa, phòng trường hợp bảng hỏng nặng không cứu được và phải khôi phục từ bản sao lưu sạch.

Câu hỏi thường gặp

Lỗi này có làm mất dữ liệu không?

Thường là không — dữ liệu vẫn nằm trong cơ sở dữ liệu, chỉ là WordPress tạm không kết nối được. Khi sửa đúng kết nối, nội dung trở lại đầy đủ.

Sau khi chuyển host bị lỗi này, làm sao?

Gần như chắc chắn do thông tin cơ sở dữ liệu trong wp-config.php chưa khớp với host mới. Cập nhật lại bốn giá trị kết nối là xong.

Nguồn: Kinsta — Error Establishing a Database Connection.

Đọc tiếp

Bài viết
cùng chủ đề.

Tất cả bài viết