Questions? (+84) 247 300 6665 or hr@hri.com.vn

5 cách fix lỗi: Error establishing a database connection

23/06/2020

Đa phần khi sử dụng wordpress bạn sẽ ít nhất thấy dòng thông báo: “Error establishing a database connection” sau:

Đây được xem là 1 lỗi rất nghiêm trọng trong database nó khiến cho website không hiển thị. 5 cách sau đây sẽ hướng dẫn cho bạn cách khắc phục lỗi “Error establishing a database connection” này.

Tìm kiếm vấn đề gây ra lỗi.

Việc đầu tiên trước khi bắt tay vào khắc phục lỗi là tìm hiểu nguyên nhân gây ra tai nạn này. WordPress sử dụng 2 công nghệ cốt lỗi của PHP và MySql để xây dựng. Kết hợp hai thứ lại với nhau, WordPress sử dụng các lệnh PHP để kết nối với cơ sở dữ liệu MySQL, lấy thông tin cần thiết và sau đó hiển thị mọi thứ trên màn hình.

Đây là nơi xảy ra lỗi. Lỗi xảy ra khi, vì bất kỳ lý do gì mà WordPress không thể truy cập thông tin trong cơ sở dữ liệu thông qua các lệnh PHP. Khi điều đó xảy ra, về cơ bản, WordPress không biết phải làm gì tiếp theo, vì vậy bạn chỉ nhận được thông báo “Error establishing a database connection” trên màn hình.

Một số nguyên nhân sau có thể gây ra lỗi nghiêm trọng này, bạn cần xem xét trường hợp lỗi của mình theo từng mục trong checklist sau:

  • Thông tin đăng nhập kết nối database không chính xác. WordPress cần một thông tin đăng nhập và mật khẩu cụ thể để truy cập cơ sở dữ liệu. Nếu những điều đó đã thay đổi vì bất kỳ lý do nào thì WordPress sẽ không thể tìm nạp bất cứ thứ gì từ cơ sở dữ liệu.
  • Các tệp WordPress bị hỏng. Các tệp WordPress cốt lõi có thể bị hỏng do cập nhật không thành công, trong số các tệp khác. Điều này có thể bao gồm những thứ như cập nhật thất bại của các plugin, giao diện và thậm chí là các bản cập nhật phần mềm WordPress.
  • Cơ sở dữ liệu bị hỏng . Đây có thể là kết quả của một plugin lừa đảo làm rối tung cơ sở dữ liệu trong nội bộ, một cuộc tấn công của hacker, một giao diện kích hoạt thất bại và nhiều hơn nữa.
  • Máy chủ cơ sở dữ liệu ngừng hoạt động. Trong một số trường hợp, máy chủ web – máy chủ lưu trữ tệp trang web của bạn – được chạy trên một máy khác với cơ sở dữ liệu. Và máy chủ cơ sở dữ liệu riêng biệt đó đơn giản có thể ngừng hoạt động vì bất kỳ lý do gì.
  • Sử dụng bandwidth quá nhiều. Mặc dù đây là một vấn đề tốt để có, nó vẫn là một vấn đề. Cụ thể, cơ sở dữ liệu của bạn có thể không phản hồi do lưu lượng truy cập tăng đột biến. Ví dụ: có thể một trong những bài đăng của bạn bị virus và bây giờ mọi người cố gắng truy cập trang web của bạn? Do đó, máy chủ không thể xử lý một phần của các lượt truy cập đó.

Cách khắc phục lỗi thiết lập kết nối cơ sở dữ liệu

Vì tôi coi trọng thời gian của bạn, trước tiên tôi sẽ đề xuất một con đường có khả năng khắc phục sự cố nhanh nhất cho bạn . Sau đó, tôi sẽ đào sâu hơn và chỉ cho bạn cách tự mình thực hiện tất cả các bản sửa lỗi.

Bước 1: Liên lạc với nhà cung cấp máy chủ web của bạn

Trong hầu hết các trường hợp, nếu bạn nói với họ loại lỗi nào bạn gặp phải, họ sẽ cho bạn biết nguyên nhân chính xác là gì hoặc thậm chí họ sẽ sửa lỗi cho bạn. Quan trọng nhất, họ sẽ cho bạn biết liệu cơ sở dữ liệu của bạn có ổn không và liệu có bất kỳ hoạt động đáng ngờ nào trên máy chủ hay không.

Nếu lỗi không phải do lỗi của họ (máy chủ đang hoạt động và không có lưu lượng truy cập tăng đột biến) và họ không muốn giúp bạn, hãy chuyển sang bước 2:

Bước 2: Kiểm tra xem Plugin hoặc tệp tin theme của bạn có bị hỏng hay không?

Các tệp WordPress của bạn có thể bị hỏng do một vài sự kiện không may. Chẳng hạn, có thể bạn đã cập nhật một plugin hoặc một theme và toàn bộ sự việc đã khiến website bạn sụp? Có lẽ bạn đã nối trang web với một dịch vụ bên ngoài? Có lẽ bạn đã chỉnh sửa một số tập tin? Nhớ lại các thao tác đã từng làm và phát hiện các điểm nghi ngờ từ đó xác định lỗi.

Đây là những gì bạn nên làm:

  • Đầu tiên, kết nối với máy chủ của bạn thông qua FTP. Bạn có thể làm điều này với một công cụ miễn phí có tên  FileZilla .

Để kết nối, bạn cần username và password vào tài khoản FTP của mình. Nếu bạn không biết chúng là gì / ở đâu, cách dễ nhất để có được chúng là tìm kiếm qua các email ban đầu bạn nhận được từ máy chủ web khi bạn đăng ký lần đầu. Ngoài ra, bạn có thể yêu cầu đại diện hỗ trợ trò chuyện trực tiếp cung cấp cho bạn những chi tiết đó.

Có chúng, kết nối với máy chủ và điều hướng đến thư mục gốc chưa bộ mã WordPress. Nó thường được gọi là public_html và hoặc www www hoặc bạn có thể đã ở trong đó một khi bạn thiết lập kết nối FTP. Nguyên tắc cơ bản là nếu bạn có thể thấy các thư mục con như nội dung wp-content và và wp-admin thì thì bạn đang ở trong root WordPress. Ví dụ:

  • Truy cập vào wp-content của wp và đổi tên thư mục của plugin plugin thành một tên khác ( bất kỳ tên nào khác, miễn là nó không phải là plugins):
  • Quay trở lại trang web của bạn và xem lỗi còn hay không. Tiếp tục quay lại trang web của bạn để xem khi nào lỗi được kích hoạt hoặc biến mất. Khi bạn đã thu hẹp nó xuống một plugin cụ thể, bạn đã tìm thấy kẻ gây rối. Xóa nó hoặc lên mạng để xem cập nhật cho plugin này có chưa để cài lại.

Nếu không còn lỗi, bây giờ bạn biết rằng đó là do một số plugin gây ra. Quay trở lại FTP, đổi tên thư mục trở lại thành plugin Plugins. Đi vào đó và thay đổi tên thư mục của từng plugin, từng cái một. Cách dễ nhất để làm điều này là thêm một dấu gạch dưới ở cuối:

Bước 3: Kiểm tra xem cơ sở dữ liệu của bạn có bị hỏng hay không?

Cơ sở dữ liệu WordPress là được tổ chức rất phức tạp và có rất nhiều dữ liệu nhỏ phụ thuộc vào nhau. Đôi khi, một cái gì đó không đúng chỗ cũng sẽ gây ra lỗi như trên.

  • 1. Điều đầu tiên cần kiểm tra là truy cập trang tổng quan WordPress của bạn – YOURSITE.com/wp-admin

Nếu bạn thấy cùng một lỗi chính: “Error establishing a database connection” , hãy bỏ qua bước này.

  • 2. Nếu bạn thấy điều gì khác, hãy chú ý đến những gì WordPress đang gợi ý bạn nên làm. Trong các phiên bản gần đây, WordPress đã mở rộng các giải pháp giải quyết vấn đề của mình, vì vậy bạn có thể thấy một số lời khuyên tốt ở đó. Một trong những khả năng có lỗi sẽ là: “Can’t select DatabaseHoặc các thông báo đại loại như: “One or more database tables are unavailable […]”  thì bạn cần sửa lại cơ sở dữ liệu của mình. Điều này thực sự khá đơn giản. Đầu tiên, kết nối với trang web của bạn thông qua FTP một lần nữa. Truy cập vào thư mục mã nguồn WordPress và tải xuống tập tin wp-config.php. Chỉnh sửa tập tin này trong notepad, thêm một dòng bổ sung ở cuối cùng file:define(‘WP_ALLOW_REPAIR’, true);
  • define(‘WP_ALLOW_REPAIR’, true);
  • Bây giờ tải tệp trở lại trang web của bạn (thông qua FTP) tải lại file mới này. Sau đó truy cập YOURSITE.com/wp-admin/maint/repair.phpNhấp vào một trong hai nút. Sau khi trình sửa chữa tự động kết thúc, quay trở lại trang web của bạn và xem nếu lỗi còn đó hay không. Nếu không có lỗi, thật tuyệt! Nhưng bạn vẫn cần hoàn nguyên tệp tin wp-config.php của bạn về trạng thái trước đó. Xóa dòng mới mà bạn vừa thêm và tải lại tệp. Nếu lỗi vẫn còn, bước tiếp theo là:

Bước 4: Kiểm tra thông tin xác thực kết nối cơ sở dữ liệu của bạn

Như tôi đã đề cập, WordPress sử dụng username và password cụ thể để kết nối với cơ sở dữ liệu. Thông thường, những thông tin truy cập đó không tự thay đổi. Tuy nhiên, bạn có thể gặp một số tình huống kỳ lạ sau khi thực hiện bất kỳ thay đổi nào đối với tệp trang web của mình, môi trường lưu trữ hoặc bất kỳ điều gì khác. Nói cách khác, mặc dù điều đó không nên xảy ra, thông tin đăng nhập đôi khi thay đổi. Và với thông tin truy cập xấu – Lỗi thiết lập kết nối cơ sở dữ liệu, xảy ra!

Việc khắc phục được thực hiện trong tập tin wp-config.php.

define(‘DB_NAME’, ‘some_db’);
define(‘DB_USER’, ‘some_username’);
define(‘DB_PASSWORD’, ‘some_pass’);
define(‘DB_HOST’, ‘localhost’);

Các dòng code phía trên nắm giữ tất cả các chi tiết mà WordPress cần để kết nối với cơ sở dữ liệu. Nếu bất kỳ điều nào trong số này là sai, sẽ không có kết nối nào được thiết lập.

Lưu ý rằng có một cách thủ công để khắc phục sự cố này, nhưng nó thực sự đòi hỏi nhiều bước và có thể thực sự rất khó hiểu. Nói cách khác, bất cứ điều gì tôi nói ở đây vẫn sẽ chỉ có thể áp dụng cho một phạm vi nhỏ người dùng tình cờ sử dụng cùng một máy chủ như tôi, vì vậy tôi có một giải pháp phổ quát hơn cho bạn:

Lấy bốn dòng đó từ tệp tin wp-config.php, chỉ cần sao chép chúng vào bảng tạm, liên hệ lại với bộ phận hỗ trợ máy chủ web của bạn, dán các dòng đó vào cửa sổ trò chuyện và hỏi xem chi tiết có chính xác để bạn có thể kết nối không vào cơ sở dữ liệu của bạn.Người đại diện sẽ kiểm tra mọi thứ, và quay lại với bạn với một số phản hồi. Thông thường, họ sẽ cung cấp cho bạn các chi tiết chính xác trong trường hợp bất cứ điều gì đã được thay đổi.Tất cả những gì bạn cần làm là lấy thông tin đăng nhập mới và đặt chúng vào tập tin wp-config.php của bạn trong đó có các thông tin cũ.

define(‘DB_NAME’, ‘some_db’); /* this is the name of your WordPress database */
define(‘DB_USER’, ‘some_username’);
define(‘DB_PASSWORD’, ‘some_pass’);
define(‘DB_HOST’, ‘localhost’); /* this is the web address of your database server */

Cuối cùng, tải lại tập tin qua FTP. Ở giai đoạn này, bạn có thể quay lại trang web của mình và xem lỗi đã được khắc phục chưa. Nếu không, tôi có một bước cuối cùng cho bạn:

Bước 5: Khôi phục các tệp WordPress mặc định

Như tôi đã đề cập trước đó, các tệp WordPress cốt lõi có thể bị hỏng vì một số lý do. Có thể đã có một nỗ lực hack trên trang web của bạn, có thể bạn đã sửa đổi một số tệp một cách tình cờ, có thể một plugin lừa đảo đã sửa đổi.

Dù có thể là gì, bạn vẫn có thể khôi phục các tệp gốc, mặc định của WordPress. Cách dễ nhất để làm điều đó là chỉ cần tải xuống một phiên bản WordPress sạch từ WordPress.org và sao chép nó qua phiên bản bạn có ngay bây giờ.

Đây là cách sửa chữa cuối cùng. Nếu điều này không có ích, bạn sẽ không có lựa chọn nào khác ngoài việc quay lại nhờ hỗ trợ của dịch vụ hosting, nói với họ mọi thứ bạn đã làm và yêu cầu trợ giúp. Ở giai đoạn này, về cơ bản, bạn đã làm mọi thứ mà bạn có thể làm để tự khắc phục sự cố và đến nhà cung cấp dịch vụ phải giải quyết vấn đề.

Làm thế nào để tránh lỗi này trong tương lai?

Mặc dù không có cách nào 100% không bảo vệ để bảo vệ trang web của bạn khỏi mọi lỗi thiết lập kết nối cơ sở dữ liệu, có hai yếu tố chính mà bạn nên có để bảo hiểm cho trang web:

  • Sử dụng dịch vụ hosting tốt và hỗ trợ nhiệt tình. Chỉ làm việc với các máy chủ đã tối ưu hóa nền tảng của họ để hoạt động với WordPress. Bằng cách đó, bạn luôn có thể tin tưởng vào sự hỗ trợ có hiểu biết và sự giúp đỡ nhanh chóng. Chưa kể rằng bạn cũng sẽ tránh được nhiều vấn đề phổ biến của WordPress. 
  • Có bản sao lưu. Cài đặt một plugin sao lưu đơn giản như UpdraftPlus (nó hoạt động tự động) và bạn phải luôn có một bản sao lưu WordPress hoạt động để bạn có thể khôi phục trong trường hợp mọi thứ khác không thành công.

Share this job
BACK TO BLOG