Error establishing a database connection hay còn gọi “lỗi thiết lập kết nối cơ sở dữ liệu”. Đây là lỗi khiến website của bạn không thể truy xuất các dữ liệu từ cơ sở dữ liệu và hiển thị cho người dùng. Lỗi này xảy ra khi WordPress không thể tạo kết nối tới cơ sở dữ liệu, vấn đề này thường gây khá nhiều rắc rối cho các bạn mới để có thể khắc phục. Do đó trong bài viết này, chúng tôi sẽ hướng dẫn cho bạn cách để sửa lỗi thiết lập kết nối cơ sở dữ liệu trong WordPress dễ dàng nhất.

Nguyên nhân gây ra “Error establishing a database connection” trong WordPress?

Error establishing a database connection – Sự cố ‘Lỗi thiết lập kết nối cơ sở dữ liệu’ có thể do thông tin cơ sở dữ liệu không chính xác trong lúc cài đặt WordPress, cơ sở dữ liệu bị hỏng hoặc máy chủ cơ sở dữ liệu không phản hồi.

loi ket noi co so du lieu trong wordpress 1

Cơ sở dữ liệu là một phần mềm giúp bạn dễ dàng lưu trữ, sắp xếp và truy xuất dữ liệu vào các phần mềm khác. Là một hệ thống quản lý nội dung (CMS – content management system), WordPress sử dụng cơ sở dữ liệu để lưu trữ tất cả nội dung và dữ liệu khác trên trang web cũng như truy xuất để hiển thị trên trình duyệt khi có người dùng truy cập.

WordPress cần các thông tin sau để kết nối với cơ sở dữ liệu:

  • Tên cơ sở dữ liệu
  • Tên người dùng của cơ sở dữ liệu
  • Mật khẩu truy cập cơ sở dữ liệu
  • Máy chủ cơ sở dữ liệu

Thông tin này được lưu trữ trong tệp tin cấu hình WordPress được gọi là wp-config.php .

Nếu bất kỳ thông tin nào ở trên nhập không chính xác, WordPress sẽ không thể kết nối được với máy chủ cơ sở dữ liệu và khi đó sẽ xuất hiện lỗi ‘Error establishing a database connection (Lỗi thiết lập kết nối cơ sở dữ liệu)’.

Đây cũng là một trong những lỗi phổ biến nhất của WordPress. Ngoài thông tin không chính xác, lỗi này cũng có thể xuất hiện nếu máy chủ cơ sở dữ liệu bị hỏng hoặc các tệp cơ sở dữ liệu bị hỏng.

Vậy làm thế nào để biết lỗi nằm ở đâu và khắc phục như thế nào thì chúng ta hãy cùng đến với những nội dung dưới đây.

1. Kiểm tra lại các thông tin về cơ sở dữ liệu WordPress

Một trong các lý do thường gây ra lỗi này nhất là khi nhập các thông tin cơ sở dữ liệu vào file wp-config.php hoặc lúc cài đặt WordPress không chính xác. Hãy nhớ lại gần đây bạn có từ thay đổi gì trong file wp-config.php chưa, nếu có thì hãy kiểm tra lại một lần nữa. Bởi đây là tệp cấu hình WordPress chứa các thông tin cài đặt WordPress quan trọng bao gồm thông tin cơ sở dữ liệu.

Bạn hãy tìm các dòng sau trong tệp wp-config.php và kiểm tra lại.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );
/** MySQL database username */
define( 'DB_USER', 'username_here' );
/** MySQL database password */
define( 'DB_PASSWORD', 'password_here' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

Bạn cần chắc chắn rằng các thông tin bao gồm tên cơ sở dữ liệu (database_name_here), tên người dùng (username_here), mật khẩu (password_here) và máy chủ cơ sở dữ liệu (localhost) đã chính xác.

Bạn có thể xem lại các thông tin này từ bảng điều khiển tài khoản lưu trữ (hosting) WordPress. Chỉ cần đăng nhập vào tài khoản lưu trữ và nhấp vào MySQL Databases trong phần Database.

database trong tai khoan hosting

Sau đó, bạn sẽ được chuyển đến trang quản lý cơ sở dữ liệu trong dashboad lưu trữ. Từ đây, bạn có thể tìm ra tên cơ sở dữ liệu và tên người dùng.

thong tin database

Tại đây bạn sẽ tìm được tên người dùng cơ sở dữ liệu và các liên kết để thay đổi mật khẩu người dùng.

thay doi mat khau co so du lieu

Khi bạn đã xác nhận lại tên cơ sở dữ liệu, tên người dùng và mật khẩu trùng khớp với thông tin trong tệp tin wp-config.php. Lúc này, bạn hãy thử truy cập lại trang web của bạn để xem lỗi kết nối cơ sở dữ liệu đã được khắc phục chưa.

Nếu bạn vẫn thấy xuất hiện những lỗi này, hãy tiếp tục xem thêm các bước dưới đây.

2. Kiểm tra thông tin máy chủ lưu trữ cơ sở dữ liệu

Hầu hết các công ty cung cấp dịch vụ lưu trữ (hosting) WordPress sử dụng localhost làm máy chủ cho cơ sở dữ liệu. Tuy nhiên, một số dịch vụ lưu trữ sử dụng các máy chủ riêng biệt để lưu trữ cơ sở dữ liệu. Trong trường hợp này, thông tin máy chủ lưu trữ cơ sở dữ liệu của bạn sẽ không phải là localhost.

Bạn cần liên hệ với công ty cung cấp dịch vụ lưu trữ để xác nhận thông tin máy chủ cơ sở dữ liệu này nhé.

3. Sửa chữa cơ sở dữ liệu

Trong trường hợp, nếu bạn đang gặp một lỗi khác khi truy cập vào https://yoursite.com/wp-admin, trình duyệt sẽ hiển thị thông báo lỗi “One or more database tables are unavailable. The database may need to be repaired”, lúc này bạn cần sửa lại cơ sở dữ liệu này.

Để kích hoạt tính năng sửa lỗi database bạn cần thêm dòng lệnh dưới đây vào tệp wp-config.php. Hãy đảm bảo bạn thêm dòng lệnh này vào sau /* That's all, stop editing! Happy blogging. */ .

define('WP_ALLOW_REPAIR', true);

Sau khi bạn thêm đoạn mã này vào đúng như hướng dẫn, hãy truy cập lại trang: https://www.yoursite.com/wp-admin/maint/repair.php

repair co so du lieu wordpress

Lưu ý: Bất kỳ người dùng nào (không cần đăng nhập) đều có thể truy cập trang này để sửa chữa cơ sở dữ liệu. Do đó, khi bạn đã hoàn tất việc sửa chữa và tối ưu hóa cơ sở dữ liệu của mình, hãy xóa dòng lệnh trên khỏi tệp tin wp-config.php.

4. Kiểm tra xem Máy chủ cơ sở dữ liệu có bị hỏng không

Nếu mọi thứ đã chính xác và WordPress vẫn không thể kết nối với cơ sở dữ liệu, thì rất có thể máy chủ lưu trữ cơ sở dữ liệu của bạn (máy chủ MySQL) có thể không hoạt động. Vấn đề này có thể xảy ra do lưu lượng truy cập lớn trên một máy chủ. Về cơ bản, máy chủ lưu trữ của bạn không thể xử lý hết được các yêu cầu truy cập khi lượng truy cập lớn (đặc biệt là khi bạn đang chia sẻ không gian lưu trữ trên máy chủ).

Trang web của bạn lúc này sẽ trở nên rất chậm và đối với một số người dùng thậm chí còn có thể xuất hiện lỗi. Vì vậy, điều tốt nhất bạn nên làm là truy cập bằng điện thoại hoặc liên hệ trực tiếp với nhà cung cấp dịch vụ lưu trữ mà bạn đang sử dụng, hỏi họ xem máy chủ MySQL có đang hoạt động và phản hồi không.

Nếu bạn đang chia sẻ tài nguyên lưu trữ cho các trang web khác trên cùng một máy chủ, thì bạn có thể kiểm tra các trang web đó để xác nhận máy chủ SQL có hoạt động không. Nếu bạn không chia sẻ tài nguyên cho bất cứ website nào khác trên cùng một tài khoản lưu trữ, thì chỉ cần truy cập dashboard của hosting lưu trữ >> thử truy cập vào phpMyAdmin và kết nối với cơ sở dữ liệu.

Nếu bạn có thể kết nối, thì chúng ta cần xác minh xem người dùng cơ sở dữ liệu của bạn có đủ quyền hay không. Hãy tạo một tệp mới gọi là testconnection.php và dán đoạn mã sau vào đó:

?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>

Tiếp đến hãy thay thế tên người dùng (username) và mật khẩu (password). Bây giờ bạn có thể tải tệp này và truy cập tệp này qua trình duyệt web. Nếu tập lệnh được kết nối thành công, điều đó có nghĩa là người dùng của bạn có đủ quyền truy cập và có điều gì đó không đúng ở đây, bạn phải kiểm tra lại mọi lỗi chính tả, cú pháp,… tất cả mọi thứ ở file wp-config như ở mục 1.

Các giải pháp khác

Nếu các mẹo ở trên không giúp bạn khắc phục được sự cố này thì bạn có thể thử các bước bổ sung dưới đây.

1. Cập nhật URL trang web

Hãy thử cập nhật URL trang web WordPress của bạn bằng phpMyAdmin. Chỉ cần truy cập phpMyAdmin từ dashboard tài khoản hosting và chọn cơ sở dữ liệu WordPress của bạn.

sql phpmyadmin

Sau đó nhấp vào menu SQL ở trên cùng và nhập truy vấn MySQL sau.

UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'

Chú ý thay đổi YOUR_SITE_URL thành URL trang web của bạn và xem lại wp_options có đúng tiền tố wp_ mà bạn đang sử dụng không vì có thể bạn đã thay đổi tiền tố bảng WordPress .

2. Khởi động lại máy chủ Web

Người dùng trên các máy chủ chuyên dụng (dedicated server), máy chủ cục bộ (local server) và máy chủ ảo (VPS) có thể thử khởi động lại máy chủ. Khởi động lại máy chủ cơ sở dữ liệu và máy chủ web có thể sẽ khắc phục một số trục trặc tạm thời gây ra lỗi.

3. Yêu cầu hỗ trợ

Nếu mọi nỗ lực của bạn vẫn không thành công, thì bạn nên liên hệ với công ty cung cấp dịch vụ lưu trữ web cho bạn để nhận được sự hỗ trợ tốt nhất. Tất cả các công ty cung cấp dịch vụ lưu trữ WordPress sẽ giúp bạn khắc phục sự cố, hoặc ít ra họ sẽ hướng cho bạn đi đúng hướng hoặc thậm chí khắc phục sự cố luôn cho bạn.

Chúng tôi hy vọng với bài viết này đã có thể giúp bạn dễ dàng hơn trong quá trình tìm hiểu về WordPress và biết chi tiết hơn về cách khắc phục lỗi thiết lập kết nối cơ sở dữ liệu cho website WordPress của mình. Nếu có bất cứ thắc mắc hoặc góp ý nào đừng ngần ngại để lại bình luận cho chúng tôi được hỗ trợ cũng như cải thiện thêm nhé!