Error establishing a database connection là gì năm 2024

Lỗi Error establishing a database connection là lỗi do WordPress không thể xác lập kết nối cơ sở dữ liệu (CSDL). Một số lý do WordPress không thể thiết lập kết nối cơ sở dữ liệu đó là:

  1. Thông tin đăng nhập CSDL của người dùng không chính xác
  2. Thông tin đăng nhập CSDL của người dùng đã bị thay đổi
  3. Do máy chủ (server) không phản hồi
  4. Do lỗi cơ sở dữ liệu,…

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

Error establishing a database connection là gì năm 2024
Cách sửa lỗi Error establishing a database connection

Bước 1: Xác định lỗi có xảy ra ở WP-Admin không?

Nếu bạn chắc chắn lỗi Error establishing a database connection xuất hiện ở cả Front-end và Back-end của website thì bạn có thể thực hiện theo các bước sau đây:

Xuất hiện 2 lỗi khác nhau trên wp-admin (One or more database tables are unavailable hoặc The database may need to be repaired) thì cần chỉnh lỗi cơ sở dữ liệu:

  1. Truy cập cPanel
  2. Thêm dòng Code: define(‘WP_ALLOW_REPAIR’, true);
  3. http://www.tenmiencuaban.com/wp-admin/maint/repair.php
  4. Chỉnh sửa cơ sở dữ liệu và tối ưu Database

Bước 2: Kiểm tra File WP-Config.php

Error establishing a database connection là gì năm 2024
Kiểm tra File WP-Config.php

Cách 1:

Để cài đặt WordPress thành công thì file wp-config.php đóng vai trò đặc biệt quan trọng. File này chứa thông tin để kết nối với cơ sở dữ liệu (tên, mật khẩu để truy cập cơ sở dữ liệu).

Kiểm tra lại các thông tin trong file wp-content:

define('DB_NAME', 'database-name'); define('DB_USER', 'database-username'); define('DB_PASSWORD', 'database-password'); define('DB_HOST', 'localhost');

Cách 2:

  1. Thay thế IP cho Localhost
  2. Kiểm tra lại

Bước 3: Kiểm tra Hosting của website muốn truy cập

Error establishing a database connection là gì năm 2024
Kiểm tra Hosting của website để sửa lỗi Error establishing a database connection

Khi website nhận được một lượng truy cập lớn cùng một lúc cũng có thể là nguyên nhân gây nên lỗi Error establishing a database connection. Khi đó, Hosting không thể xử lý kịp và xảy ra lỗi kết nối website. Kiểm tra xem có đúng web đang có quá nhiều người truy cập hay không bằng cách:

Truy cập website khác đang dùng chung dịch vụ Hosting với website đang bị lỗi tải trang. Nếu website đó cũng gặp lỗi tương tự chứng tỏ Hosting có vấn đề => liên hệ với nhà cung cấp để được hỗ trợ.

Trường hợp không có website chạy chung Hosting => đăng nhập cPanel => truy cập PHPMyAdmin để kết nối Database => tạo file mới và đặt tên “testconnection.php” => xác minh User sử dụng cơ sở dữ liệu có được phép kết nối không bằng cách dán đoạn Code sau đây:

[php]</pre> <pre><?php $link = mysql_connect('localhost', 'root', 'password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); ?></pre> <pre>[/php]

3. Hai trường hợp lỗi Error establishing a database connection và cách khắc phục

Trường hợp 1: Nếu Service MySQL đang hoạt động nếu bạn đang dùng VPS

Chắc chắn Service MySQL đang hoạt động nếu bạn đang dùng VPS. Kiểm tra bằng một trong 2 lệnh sau:

Service mysql status

Hoặc

Service mysql status

Nếu kết quả trả về là:

  • Màu xanh: hoạt động bình thường
  • Màu đỏ: không hoạt động
    Error establishing a database connection là gì năm 2024
    MySQL hoạt động bình thường
    Error establishing a database connection là gì năm 2024
    MySQL không hoạt động

Nếu MySQL không hoạt động => kiểm tra Error log trong thư mục /var/log

Trường hợp 2: Hosting dùng Cloudlinux

Hosting dùng Cloudlinux sẽ có thêm tính năng PHP Selector. Chức năng này cho phép bật/tắt PHP Extension => Kiểm tra xem PHP Extension đã được bật hay chưa?

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.

Error establishing a database connection là gì năm 2024

  • 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ụ:

Error establishing a database connection là gì năm 2024

  • 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 Database“
  • Hoặ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.php
  • Nhấ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.