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

Lỗi Error Establishing a Database Connection là lỗi thường xảy ra, đây là lỗi không kết nối được với cơ sở dữ liệu. Lỗi này phổ biến mà bất cứ ai, bất cứ tín đồ nào khi dùng WordPress có thể cũng sẽ gặp ít nhất một lần.

Lỗi Error Establishing a Database Connection rất thường gặp khi bạn mới cài đặt website WordPress. Ở bài viết này bạn sẽ thấy được rất nhiều cách để sữa lỗi kết nối cơ sở dữ liệu, và nếu bạn có gặp nỗi này hãy áp dụng từng cách một.

Tại sao bạn gặp lỗi Error Establishing a Database Connection

Nguyên nhân phổ biến nhất gây ra lỗi này đó là website của bạn không thể kết nối với cơ sở dữ liệu.

Mà một khi cơ sở dữ liệu không được kết nối lại do rất nhiều nguyên nhân khác nhau gây ra. Rất có thể thông tin đăng nhập kết nối dữ liệu của bạn bị sai hoặc đã bị thay đổi. Ngoài ra đôi khi cũng có thể do máy chủ (hosting) không phản hồi. Hoặc tệ hơn là cơ sở dữ liệu bị hỏng (ít gặp).

Bây giờ hãy xem cách nào để có thể sửa lỗi Error Establishing a Database Connection.

1. Kiểm tra lỗi có xảy ra ở /wp-admin?

Trước tiên bạn cần đảm bảo rằng bạn gặp lỗi này cả ở front-endback-end của trang web. Tức là bạn đều gặp lỗi này trên trang web và trên trang quản trị (wp-admin).

Nếu trên cả hai trang này đều nhận được lỗi Error establishing a database connection thì bạn có thể tiến hành thực hiện các bước sau.

Nếu bạn nhận được 2 lỗi khác nhau trên wp-admin, ví dụ như lỗi One or more database tables are unavailable hoặc The database may need to be repaired  thì bạn cần phải sửa lỗi cơ sở dữ liệu của bạn.

Để sửa lỗi cơ sở dữ liệu, đơn giản chỉ cần truy cập cPanel và thêm dòng code phía dưới đây vào file wp-config.php

[php]define('WP_ALLOW_REPAIR', true);[/php]

Sau khi bạn đã thêm đoạn code trên thành công, bạn cần xem lại các thiết lập bằng cách truy cập: http://www.tenmiencuaban.com/wp-admin/maint/repair.php

sua loi Error Establishing a Database Connection trong WordPress

Bây giờ bạn có thể tiến hành sửa chữa cơ sở dữ liệu và tối ưu database.

Lưu ý: Đây là cách giúp người dùng truy cập vào cơ sở dữ liệu mà không cần đăng nhập để sửa lỗi. Do đó sau khi đã hoàn thành việc sửa lỗi cơ sở dữ liệu, bạn nhớ loại bỏ đoạn code phía trên trong file wp-config.php để tránh người khác truy cập vào sửa chữa cơ sở dữ liệu của bạn.

Nếu việc sửa chữa này gây cho bạn khó khăn hoặc vẫn không khắc phục được lỗi Error establishing a database connection thì bạn hãy áp dụng những cách khác ngay bên dưới đây.

2. Kiểm tra file wp-config.php

File wp-config.php là một file quan trọng nhất giúp việc cài đặt WordPress của bạn thành công. Trong file wp-config.php sẽ chứa thông tin để kết nối với cơ sở dữ liệu như: tên cơ sở dữ liệu, tên và mật khẩu dùng để truy cập cơ sở dữ liệu.

Nếu bạn đã thay đổi mật khẩu gốc, mật khẩu người dùng hay tên cơ sở dữ liệu thì bây giờ bạn cần thay đổi những điều đó trong file wp-config.php. Kiểm tra xem các thông tin trong file wp-config.php như bên dưới đã thực sự chính xác chưa?

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

Lưu ý: Giá trị “DB_HOST” có thể không phải lúc nào cũng là “localhost”, nó tuỳ thuộc vào host bạn đnag sử dụng. Tuy nhiên đối với các dịch vụ host phổ hiên hiện nay tại Việt Nam hoặc quốc tế thì đa phần vẫn là “localhost”

Bạn có thể sửa lỗi bằng cách thay thế localhost bằng IP. Đây là cách phổ biến để sửa lỗi này khi chạy WordPress trên môi trường local server. Ví dụ trên MAMP, giá trị DB_Host khi thay đổi thành IP, IP sẽ khác nhau đối với mỗi nhà cung cấp dịch vụ Web Hosting.

[php]define('DB_HOST', '127.0.0.1:0087');[/php]

Bây giờ kiểm tra lại một lần nữa để đảm bảo rằng bạn không gặp bất cứ một sai xót nào về lỗi chính tả. Nếu cách này cẫn không sửa được lỗi, thì rất có thể có vấn đề gì đó xảy ra trên server.

2. Kiểm tra Host Web của bạn (MySQL Server)

Một trong những nguyên nhân gây ra lỗi Error establishing a database connection khi website của bạn đang nhận được một lưu lượng lớn người dùng truy cập cùng lúc. Hosting bạn dùng không thể xử lý và chịu tải nổi (vấn đề nàu thường xảy đối với dịch vụ shared host chất lượng thấp), website của bạn sẽ rất ì ạch và gây ra lỗi kết nối.

Để kiểm tra xem có đúng là do website có quá nhiều người truy cập gây ra lỗi bạn chỉ cần truy cập một website khác đang dùng chung một dịch vụ host. Nếu website đó cũng xảy ra lỗi tương tự, điều này chứng tỏ dịch vụ cung cấp hosting có vấn đề. Liên hệ với dịch vụ hosting và yêu cầu được hỗ trợ là cách nhanh nhất.

Nếu bạn không có bất cứ một website nào khác đang chạy trên cùng một host, thì việc tiếp theo là đăng nhập vào cPanel và truy cập vào phpMyAdmin để kết nối với database.

Tạo một file mới với tên testconnection.php và dán đoạn code dưới đây để xác minh xem user sử dụng cơ sở dữ liệu có được quyền kết nối hay không.

[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]

Nhớ thay thế tên người dùng và mật khẩu của bạn thật chính xác. Nếu kết nối thành công tức là người dùng của bạn có đủ sự cho phép để truy cập, và có điều gì đó đang sai. Quay trở lại file wp-config.php kiểm tra lại một lần nữa về các thông tin, lỗi chính tả…

Nếu bạn không thể kết nối với cơ sở dữ liệu bằng cách vào phpMyAdmin, lúc này bạn biết chắc chắn rằng có lỗi gì đó trên máy chủ của bạn. Tóm lại nếu tất cả các trang web trên cùng một máy chủ hoạt động tốt, ngoại trừ website của bạn gặp lỗi này hãy nhay chóng liên hệ với dịch vụ cung cấp hosting để được giúp đỡ.

Lời kết

Lỗi Error establishing a database connection trong WordPress là một lỗi vô cùng khó chịu và thường gặp. Do đó với bài viết này Ngọc hy vọng đã cung cấp cho bạn những cách sửa lỗi, nếu bạn có bất cứ phương pháp nào khác hãy để lại một bình luận bên dưới.

0 0 votes
Đánh giá bài viết

Nếu bạn thấy nội dung này có giá trị, hãy mời Ngọc một ly cà phê nhé!

Bạn thích nội dung này?

Ngọc thường xuyên gửi những thông tin như thế này cho bạn qua email mỗi tuần. Hơn 5000+ người đang nhận thông tin! (Mỗi tuần chỉ 2 email - Không SPAM)

Bạn cũng sẽ thích:

Theo dõi
Thông báo qua email khi
guest

6 Bình luận
Inline Feedbacks
View all comments
IT FROM ZERO
Khách
6 năm trước

Chào bạn, mình cũng bị lỗi này khi load plugin WP Statistics. Sau đó thì mình đăng nhập vào MySQL và restart lại dịch vụ thì hết.
Vậy cho mình hỏi có làm cách như bạn hiệu quả hơn hay chỉ cần restart lại dịch vụ mysqld là xong.
Mình có nên dùng WP Statistics nữa ko? Hay có plugin này nhẹ nhàng, hiệu quả hơn ko bạn?
Cảm ơn bạn.

IT FROM ZERO
Khách
Reply to  Nguyễn Anh Ngọc
6 năm trước

cảm ơn bạn

vannguyen
Khách
7 năm trước

Tôi vào đâu để tìm mấy cái trong dấu ” này bạn? Tôi không biết cái database này lưu ở mục nào mà tìm nữa

[php]define(‘DB_NAME’, ‘database-name’);
define(‘DB_USER’, ‘database-username’);
define(‘DB_PASSWORD’, ‘database-password’);
define(‘DB_HOST’, ‘localhost’);[/php]

Có phải nó chính là cái username và pass khi đăng nhập abc(.)com/wp-admin không vậy

vannguyen
Khách
Reply to  Nguyễn Anh Ngọc
7 năm trước

Bạn hướng dẫn mình truy cập vào cơ sở dữ liệu để tìm user và pass với, mình không biết cách tìm nó ở đâu

6
0
Ý kiến của bạn luôn tuyệt vời, hãy để lại bình luận!x

Tải miễn phí E-book

Bí mật giúp bạn xây dựng cỗ máy ATM tại nhà.