Trang chủ / Blog / Khắc phục lỗi Error Establishing a Database Connection trên WordPress
#

Khắc phục lỗi Error Establishing a Database Connection trên WordPress

 07/01/2022 - 07:26 Trịnh Duy Thanh

Lỗi Error Establishing a Database Connection là một trong những lỗi thường gặp và gây ra sự khó chịu với người dùng. Lỗi này có nghĩa là website không còn kết nối với cơ sở dữ liệu của bạn nữa, vì vậy website hoàn toàn không thể truy cập được. Đây là vấn đề không thể xem nhẹ và bạn cần xử lý ngay vì nó sẽ ảnh hưởng trực tiếp tới lưu lượng truy cập, số lượng đơn hàng và toàn bộ hoạt động trên trang web.

Hôm nay chúng ta sẽ thảo luận về một số trường hợp phổ biến gây ra lỗi này và cách để khắc phục nó. Đừng lo lắng, sẽ rất nhanh chóng. Nào, hãy cùng bắt đầu thôi.

Error Establishing a Database Connection là lỗi gì?

Lỗi Error Establishing a Database Connection là lỗi không thể thiết lập kết nối với cơ sở dữ liệu. Đây là một lỗi nghiêm trọng và cũng khá phổ biến, đặc biệt là với những người mới cài đặt website WordPress.

Error Establishing a Database Connection trong WordPress la gi?
Lỗi Error Establishing a Database Connection là gì?

Có một số nguyên nhân thường gặp gây ra mất kết nối với cơ sở dữ liệu nên khi gặp lỗi này bạn hãy bình tĩnh. Cách tốt nhất để khắc phục là hãy thử lần lượt từng cách được trình bày ở bên dưới.

Nguyên nhân dẫn đến lỗi WordPress Error Establishing a Database Connection

Tất cả các thông tin trên website WordPress như bài viết, trang, metadata, cài đặt plugin, thông tin đăng nhập… được lưu trữ trong cơ sở dữ liệu MySQL của bạn. WordPress sử dụng các tập tin PHP để truy vấn thông tin từ cơ sở dữ liệu, sau đó sẽ hiển thị các thông tin đó cho người dùng trên trình duyệt của họ.

Nếu vì lý do nào đó mà quá trình này không hoạt động bình thường, bạn sẽ nhận được thông báo trên màn hình Error Establishing a Database Connection. Nói cách khác, WordPress đã mất kết nối với cơ sở dữ liệu của bạn.

Những tình huống phổ biến gây ra lỗi này là:

  • Sai thông tin đăng nhập cơ sở dữ liệu: Đây là nguyên nhân thường gặp nhất, đặc biệt là khi bạn mới cài đặt WordPress lần đầu hoặc chuyển website sang một hosting mới. Các thông tin đăng nhập này bao gồm Tên database, username và password. Bạn cần nhớ rằng những thông tin này là để đăng nhập vào cơ sở dữ liệu, không phải là thông tin đăng nhập vào website hay gói hosting của bạn.
  • Cơ sở dữ liệu của bạn bị hỏng: Cơ sở dữ liệu có chứa rất nhiều thông tin trong các bảng (table). Nếu một bảng nào đó bị xóa hoặc bị hỏng thì sẽ xảy ra lỗi. Việc cài đặt và xóa một theme, plugin nào đó cũng có thể là nguyên nhân gây ra hỏng cơ sở dữ liệu.
  • Máy chủ gặp sự cố: Trong một số trường hợp, web server có thể bị lỗi kỹ thuật. Đôi khi cũng có thể do lưu lượng truy cập tăng đột biến, quá nhiều kết nối diễn ra đồng thời khiến cho máy chủ bị quá tải. Điều này thường xảy ra với các máy chủ có cấu hình thấp hoặc bị giới hạn tài nguyên.

Hướng dẫn sửa lỗi Error Establishing a Database Connection

Với lý do có rất nhiều nguyên nhân dẫn đến lỗi Error Establishing a Database Connection nên theo đó ta cũng có nhiều cách khắc phục nó. Dưới đây, BKHOST sẽ hướng dẫn cho bạn đầy đủ cách khắc phục cho từng trường hợp. Hãy cùng bắt đầu.

Cách 1: Kiểm tra thông tin kết nối database trong wp-config.php

Điều đầu tiên bạn cần làm là kiểm tra thông tin đăng nhập cơ sở dữ liệu đã chính xác hay chưa. Đây là lý do phổ biến nhất khiến lỗi Error Establishing a Database Connection xảy ra. Đặc biệt là ngay sau khi mọi người chuyển sang một nhà cung cấp hosting mới. Thông tin kết nối cho trang web WordPress của bạn được lưu trữ trong tệp wp-config.php, tệp này thường nằm ở thư mục gốc của trang web WordPress của bạn.

Để truy cập tệp wp-config.php, bạn có thể kết nối với trang web của mình bằng FTP hoặc truy cập vào bảng điều khiển của hosting, click vào phần “File Manager”, tìm đến thư mục gốc của WordPress và nhấp chuột phải để chỉnh sửa tệp.

Nếu bạn dùng cPanel chọn phần File Manager, chuyển tới /public_html/ folder, chuột phải vào file wp-config.php, và chọn Edit:

File wp-config.php
Tìm file wp-config.php > chọn edit.

Tìm đến 5 thông tin liên quan đến database như sau:

  1. Tên database (DB_NAME)
  2. Username đăng nhập (DB_USER)
  3. Mật khẩu đăng nhập (DB_PASSWORD)
  4. Database prefix (table_prefix)

Kiem tra thong tin database trong file wp-config.php
Kiểm tra thông tin database trong file wp-config.php

Nếu có bất kỳ giá trị nào trong số chúng không đúng, WordPress sẽ không thể kết nối tới database của bạn. Và bạn sẽ gặp lỗi Error Establishing a Database Connection.

Check lại thông tin DB_NAME, DB_USER, DB_PASSWORD

Cách để xác định các thông tin trên, bạn vào MySQL database của cPanel.


Thông tin trong MySQL Database

Tại đây bạn có thể chỉnh sửa hoặc tạo thêm database và MySQL User sao cho khớp với dữ liệu đã điền trong file wp-config.php .

Chú ý đến phần Table Prefix của Database

Một chú ý nữa đó là phần Table Prefix đây là phần tiền tố đứng trước các bảng trong database của WordPress. Thường nó sẽ mặc định là wp_

Để kiểm tra bạn hãy vào phpMyadmin và kiểm tra lại.


Tien to mac dinh trong WordPress la wp_
Tiền tố mặc định của Database trong WordPress là wp_

Kiểm tra lại xem đã thêm user vào database chưa

Ngoài việc thay và chỉnh sửa thông tin của user và database cho khớp với file wp-config.php, bạn cũng phải đảm bảo rằng mình đã add user vào database đó chưa. Để kiểm tra bạn hãy kéo xuống phần Current Databases.

Current Database trong MySQL
Danh sách các database và user

Muốn add user vào database, bạn kéo xuống phần Add User To Database

Add user to Database
Add user vào database

Chọn user và database bạn cần thêm vào và click Add.

Cách 2: Repair Database WordPress

Trong một số trường hợp, có thể cơ sở dữ liệu của bạn đã bị hỏng. Điều này không thường xuyên xảy ra nhưng thi thoảng bạn sẽ gặp vì trong quá trình sử dụng, hàng trăm bảng (table) liên tục được thêm/xóa bởi các plugin và chủ đề mới. Nếu bạn cố gắng đăng nhập vào trang quản trị web WordPress của mình và nhận được thông báo sau, “One or more database tables are unavailable. The database may need to be repaired” điều đó có nghĩa là cơ sở dữ liệu của bạn đã bị hỏng.

WordPress có một chế độ sửa chữa cơ sở dữ liệu hữu ích mà bạn có thể sử dụng. Đầu tiên hãy đi đến thư mục gốc cài đặt WordPress và mở file wp-config.php

Chỉ cần thêm dòng lệnh bên dưới vào cuối tệp wp-config.php (ngay trước đoạn * That’s all, stop editing! Happy blogging. */) và cuối cùng chọn save.

define('WP_ALLOW_REPAIR', true);

File sau khi sửa sẽ như sau:

Prepair Database WordPress
File wp_config.php sau khi sửa

Sau đó, đi đến phần sửa chữa Database của website WordPress bằng đường link: https://yourdomain.com/wp-admin/maint/repair.php (hãy nhớ đổi yourdomain.com bằng domain của bạn nhé).

Che do sua chua Database cua WordPress
Chế độ sửa chữa Database của WordPress

Tại đây, bạn sẽ thấy 2 tùy chọn là Repair DatabaseRepair and Optimize Database. Ở tùy chọn thứ 2, sau khi sửa chữa xong WordPress sẽ tối ưu lại cơ sở dữ liệu của bạn nên sẽ cần nhiều thời gian hơn.

Sau khi sửa chữa xong, bạn hãy xóa dòng define( 'WP_ALLOW_REPAIR', true ); trong file wp-config.php đã thêm vào lúc trước. Nếu không, hacker có thể lợi dụng lỗ hổng này để tấn công vào cơ sở dữ liệu của bạn.

Cách 3: Kiểm tra xung đột plugin gây mất kết nối database

Nếu bạn đã thử hai cách trên mà chưa khắc phục được lỗi Error Establishing a Database Connection, hãy kiểm tra xem nguyên nhân có phải là do plugin gây lỗi không. Phương pháp là bạn sẽ tắt toàn bộ plugin trên website rồi kiểm tra xem website có hoạt động trở lại không. Nếu có thì chắc chắn một trong số những plugin trên website đã gây ra lỗi.

Từng bước để vô hiệu hóa tất cả các plugin sẽ như sau:

  • Đăng nhập vào trang quản trị hosting và mở File Manager hoặc sử dụng FTP client
  • Trong thư mục public_html chứa các file gốc của WordPress, bạn tìm và mở thư mục wp-content > plugins.
  • Đổi tên thư mục plugins thành một tên khác bất kỳ ví dụ như plugins-old. WordPress sẽ không ghi nhận đây là thư mục plugin nữa.
  • Mở lại website trên trình duyệt để xem website của bạn đã hoạt động trở lại chưa

Doi ten thu muc Plugins trong WordPress
Đổi tên thư mục Plugins trong WordPress

Nếu website vẫn chưa hoạt động trở lại, hãy thử với các cách khác. Còn nếu không thấy lỗi Error Establishing Connection Database nữa thì một trong những plugin ở trên đã gây ra lỗi.

Vấn đề tiếp theo là chúng ta phải kiểm tra xem chính xác nguyên nhân ở plugin nào:

Sau khi bạn đã tắt tất cả các plugin, bạn hãy sửa lại tên thư mục lại thành plugins. Bạn yên tâm vì các plugin sẽ ở trạng thái ngưng hoạt động và chưa được kích hoạt lại đâu. Lúc này bạn đã đăng nhập được vào trang quản trị của WordPress, vì vậy hãy vào phần cài đặt plugins bật lần lượt từng plugin lên một. Sau mỗi lần bật bạn kiểm tra lại xem lỗi Error Establishing Connection Database có xuất hiện nữa không thì sẽ phạt hiện ra plugin nào gây xung đột.

Cách 4: Thay đổi WordPress Core Files

Lý do tiếp theo gây ra lỗi Error Establishing Connection Database là do các tệp PHP của bạn đã bị hỏng.

Về cơ bản chúng ta sẽ tiến hành cài đặt lại WordPress một cách thủ công. Các thư mục và file trong wp-content (bao gồm theme, plugin, media) trên hosting sẽ được giữ nguyên và bạn chỉ upload lại các file gốc của WordPress thôi.

Các bước cần thực hiện sẽ như sau:

  1. Tải phiên bản mới nhất của WordPress và giải nén lên máy tính.
  2. Trên máy tính của bạn, xóa file config.php và thư mục wp-content.
  3. Truy cập FTP hoặc File Manager, tải đè bản WordPress bạn vừa download về máy tính lên server hoặc hosting.

Điều này sẽ thay thế tất cả các tệp có vấn đề và đảm bảo bạn sử dụng những tệp mới hoàn toàn. Bạn nên xóa bộ nhớ cache của trình duyệt sau khi thực hiện 3 bước trên. Sau đó, kiểm tra trang web WordPress của mình xem lỗi còn tồn tại hay không.

Cách 5: Kiểm tra lại Database Server

Nếu các cách trên không có tác dụng, thì bạn nên liên hệ với nhà cung cấp dịch vụ hosting của mình vì có thể có sự cố với máy chủ MySQL. Ví dụ: nếu có quá nhiều kết nối đồng thời đến cơ sở dữ liệu của bạn cùng một lúc, nó có thể làm MySQL bị sập (down). Điều này là do nhiều nhà cung cấp sẽ giới hạn số lượng kết nối cùng lúc đến hosting của họ. Bạn hãy hỏi nhà cung cấp hosting của mình xem MySQL còn hoạt động không.

Lỗi Error Establishing Connection Database có thể xảy ra nhiều trên các hosting có tài nguyên thấp. Đây là một lý do tại sao chúng tôi luôn khuyên bạn nên sử dụng gói hosting có cấu hình cao từ một nhà cung cấp uy tín. Để mọi thứ hoạt động trơn tru và không bị quá tải, hosting cần phải xử lý được một lượng lớn lưu lượng truy cập đồng thời đến website của bạn.

Ngoài ra bạn cũng có thể tự kiểm tra xem MySQL còn hoạt động không bằng cách truy cập vào bảng điều khiển của hosting và chọn phpAdmin. Nếu phpAdmin không vào được thì server MySQL của bạn đã bị sập.

Kiem tra phpMyAdmin
Kiểm tra phpMyAdmin có hoạt động không

Cách 6: Tạo mới database

Trường hợp rủi ro nhất là database của bạn đã bị hỏng và không thể khôi phục được. Khi đó bạn cần tạo mới database và user mới. Chúng tôi thực sự khuyên bạn nên back up thường xuyên và định kỳ như đã đề cập trong những bài viết trước đây của chúng tôi. Đó là cách duy nhất để những dữ liệu trên website của bạn có thể khôi phục lại được.

Sau khi tạo một database và user mới, bạn hãy import file backup lên cơ sở dữ liệu mới để website hoạt động trở lại. Bạn cũng cần sửa lại thông tin đăng nhập trong file wp-config.php như hướng dẫn trong phần đầu của bài viết này.

Kết luận

Như bạn có thể thấy, có khá nhiều cách để khắc phục lỗi Error Establishing Connection Database trong WordPress. Cách phổ biến nhất là sửa thông tin đăng nhập không hợp lệ trong tệp wp-config.php. Đó chính là bước khởi đầu tốt để sửa lỗi một cách nhanh chóng. Hy vọng một trong các phương pháp ở trên sẽ giúp bạn khôi phục và chạy trang web của mình.

Bạn đã gặp lỗi Error Establishing Connection Database trên trang web của mình chưa? Nếu có thì bạn đã giải quyết nó như thế nào? Hãy cho chúng tôi biết ý kiến của bạn trong phần bình luận bên dưới.

Hẹn gặp lại bạn ở các bài viết tiếp theo!

Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
Bình luận

Thanh toán linh hoạt

Chúng tôi chấp nhận thanh toán như ATM, Visa, Internet Banking, Paypal, Baokim, Ngân lượng

Gọi ĐT tư vấn ngay
Chat ngay qua Zalo
Chat ngay qua Messenger