Cách khắc phục lỗi không kết nối được cơ sở dữ liệu trong WordPress

Đã bao giờ bạn gặp lỗi Error establishing a database connection trên WordPress

Đây là lỗi không kết nối được cơ sở dữ liệu, một trong những lỗi khá phổ biến và thường gặp.

Đối với người mới sử dụng WordPress sẽ khá khó khăn và không biết phải xử lý như thế nào.

Mình cũng từng trải qua và ở đây để chia sẻ nguyên nhân và cách khắc phục lỗi này.

loi-khong-ket-noi-duoc-co-so-du-lieu

Lỗi không kết nối được cơ sở dữ liệu là gì?

Như đúng tên thì lỗi này do WordPress không kết nối được đến cơ sở dữ liệu.

Nếu bạn chưa biết thì database là nơi để WordPress dùng để lưu trữ tất cả nội dung và các dữ liệu khác.

Khi ai đó truy cập vào website WordPress sẽ truy xuất dữ liệu từ database và nó sẽ cần các thông tin như:

  • Database name
  • Database username
  • Database password
  • Database server

Thông tin này được lưu trên một file cấu hình của WordPress có tên là wp-config.php

// ** 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' );

ví dụ về file wp-config.php

Nếu bạn điền các thông tin không đúng sẽ gặp phải lỗi không kết nối được cơ sở dữ liệu.

Ngoài lỗi trên cũng có thể do:

  • Máy chủ cơ sở dữ liệu không phản hồi.
  • Hoặc là cơ sở dữ liệu của bạn đã bị lỗi.

Hãy tiếp tục đến phần khắc phục lỗi này nhé.

1. Kiểm tra thông tin đăng nhập cơ sở dữ liệu

Chúng ta sẽ đến với lỗi thường xuyên gặp nhất là điền sai thông tin đăng nhập database

Nếu bạn mới thay đổi hosting hoặc cài đặt lại WordPress từ đầu, đây rất có thể là nguyên nhân.

Như mình đã nói ở trên hãy vào file wp-config để kiểm tra lại cấu hình xem đã đúng chưa.

wordpress-wpconfig-file

Tiếp tục vào MySQL Database để đối chiếu lại thông tin, mình đã có một bài viết chi tiết về cài đặt WordPress nếu chưa biết thì bạn đọc lại nhé.

Nếu bạn đã chắc chắn mình đã điền đúng thông tin và lỗi trên vẫn tiếp diễn, hãy đến bước kiểm tra tiếp theo nhé.

Đa phần các nhà cung cấp dịch vụ WordPress hosting sẽ dùng localhost làm máy chủ cơ cơ sở dữ liệu, nhưng có một số managed WordPress hosting sẽ khác hãy liên hệ với họ để chắc chắn nhé.

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

Hãy kiểm tra xem bạn có vào được wp-admin không, nếu gặp lỗi “One or more database tables are unavailable. The database may need to be repaired

Có thể bạn lỗi vài table trong cơ sở dữ liệu, và có thể sửa được.

repaired-wordpress-database

Hãy thêm đoạn code dưới vào file wp-config.php, ngay trước dòng “That’s all, stop editing! Happy blogging” trong wp-config.php nhé.

define('WP_ALLOW_REPAIR', true);

Sau khi đã hoàn thành thao tác trên, hãy đi đến trang Repair Database bằng cách:

  • http://www.yoursite.com/wp-admin/maint/repair.php

repair-database-wordpress

Mục đích chủ yếu của nó là sửa lại các cơ sở dữ liệu bị lỗi.

Nhớ xóa đoạn code phía trên khỏi wp-config.php, sau khi đã vào dược Admin nhé.

Nếu vẫn chưa khắc phục được thì bạn có thể loại trừ và tiếp tục bước tiếp theo.

3. Kiểm tra xem Database Server có bị sập không?

Sau khi thử cả hai cách trên và vẫn thể kết nối được với cơ sở dữ liệu.

Rất có thể databse server (MySQL server) của bạn đã bị sập.

Nguyên nhân có thể do lượng truy cập của bạn tăng đột biến khiến server không thể chịu tải nổi.

Đặc biệt trên một số shared hosting (tài nguyên bị chia sẻ với nhiều web khác).

Dấu hiệu nhận biết là lỗi này có thể đội nhiên xuất hiện rồi biến mất (lúc bị lúc không).

Bạn có thể nhờ bên hosting kiểm tra hoặc xem có website nào tương tự trên hosting đó bị không.

Nếu bạn không có một trang nào khác trên cùng tài khoản hosting của mình thì hãy đi đến cPanel.

Thử truy cập phpMyAdmin và kết nối cơ sở dữ liệu, nếu kết nối được thì ta cần phải xác thực lại database-user của bạn có đủ giấy phép không.

Tạo một tệp tin mới tên là testconnection.php và dán mã dưới đây vào đó:

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

Hãy nhớ phải thay thế username và password của bạn nhé.

Nếu kết nối thành công, tức là người dùng của bạn có đủ quyền, và lỗi là do nguyên nhân khác.

Quay lại tệp tin wp-config.php và đảm bảo mọi thứ đều chính xác (kiểm tra lại lỗi đánh máy lần nữa).

Nếu bạn không kết nối được cơ sở dữ liệu thông qua phpMyAdmin, thì vấn đề sẽ là ở máy chủ.

Hãy liên lạc với nhà cung cấp host cho bạn ngay lập tức để họ sửa lỗi cho bạn.

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

Nếu như những cách trên đều sửa được lỗi không kết nối được cơ sở dữ liệu.

Hãy thử các cách sau đây:

1. Cập nhật WordPress Site URL

Hãy update lại thông tin WordPress Site URL thông qua phpMyAdmin.

Truy cập vào phpMyAdmin trong tài khoản hosting chọn database và chạy câu lệnh sau

update-wordpress-url-phpmyadmin

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

2. Khởi động lại Web Server

Nếu bạn sử dụng dedicated server hoặc VPS có thể thử reboot lại máy chủ.

Đôi khi cách này có thể khắc phục lại một số trực trặc tạm thời gây ra lỗi.

3. Hãy nhờ sự trợ giúp

Nếu bạn yếu về kỹ thuật và không biết nguyên nhân ở đâu, theo mình tốt nhất hãy liên hệ với bên hosting nhờ họ kiểm tra.

Hoặc bạn có thể nhờ ai có kinh nghiệm kiểm tra cũng như fix lỗi giúp nhé (tất nhiên sẽ có phí).

Chia sẻ lên:
Đăng ký
Thông báo về
guest
27 Bình Luận
Inline Feedbacks
View all comments

quang dung
quang dung
23/12/2017 6:52 chiều

cho mình hỏi web mình bị lỗi thông báo là

Không thể truy cập vào trang này
newsgiamgia.com mất quá nhiều thời gian để đáp ứng.
nhưng lúc truy cập được thì nó báo là
Lỗi RSS: WP HTTP Lỗi: lỗi cURL 7: Không thể kết nối với vi.wordpress.org cổng 443: Kết nối đã hết thời gian chờ

Diều Hâu
Quản trị viên
Trả lời  quang dung
25/12/2017 3:01 chiều

Bạn thử truy cập bằng trình duyệt khác xem được không.
Lỗi này có thể từ nhiều nguyên nhân: Trước khi bị bạn có nhớ đã làm gì không

quangdung
quangdung
Trả lời  Diều Hâu
25/12/2017 3:42 chiều

trước khi mình bị mình có cài một số plugin
không biết có phải do plugin không

Diều Hâu
Quản trị viên
Trả lời  quangdung
25/12/2017 3:43 chiều

Bạn thử gỡ hết tất cả những plugin bạn mới cài xem nhé

quang dung
quang dung
Trả lời  Diều Hâu
25/12/2017 6:01 chiều

Ok được rồi mình gỡ bỏ thì lại được chắc xung đột plugin
Cảm ơn bạn nhé

Diều Hâu
Quản trị viên
Trả lời  quang dung
25/12/2017 6:04 chiều

Cái nào bị thì bạn xóa đi nhé 😀

Nguyễn Xuân Bình
Nguyễn Xuân Bình
16/01/2018 1:32 sáng

Cho em facebook kết bạn với anh nhé ! Link facebook của em !
https://www.facebook.com/NXB98

Diều Hâu
Quản trị viên
Trả lời  Nguyễn Xuân Bình
16/01/2018 10:06 sáng

Bạn cứ nhắn tin với mình trên page cũng được nhé: https://www.facebook.com/dieuhauwp/

nga
nga
25/06/2018 5:31 chiều

Anh cho e hỏi lỗi Connection failed: Access denied for user ‘root’@’localhost’ (using password: YES) e đã sửa như hướng dẫn mà khi đăng nhập tài khoản user vào trang web hệ thống vẫn thông báo lỗi như cũ ạ?

Diều Hâu
Quản trị viên
Trả lời  nga
25/06/2018 6:06 chiều

Cái bước này chỉ để test User đó có quyền truy cập thôi bạn. Bạn hãy kiểm tra lại file wp-config.php của đã đúng chưa nhé

cao hiền
cao hiền
28/08/2019 8:51 chiều

E khhông kết nối được cơ sở dữ liệu trên vilis bị sao vậy ạ.

Diều Hâu
Quản trị viên
Trả lời  cao hiền
28/08/2019 8:57 chiều

Vilis mình chưa dùng bao giờ nên không rõ lắm.

Nhân
Nhân
03/09/2019 11:34 sáng

Đang yên đang lành website mình cũng báo không kết nối đc với database. Mà đăng nhập vào host cũng không vô được myPHPadmin hay MySQL nữa. Bực mình! Chưa khắc phục được!

Diều Hâu
Quản trị viên
Trả lời  Nhân
03/09/2019 5:10 chiều

bạn chưa vào được phần MySQL thì liên hệ với bên hosting xem

Đăng Vĩnh
Đăng Vĩnh
13/03/2020 7:22 chiều

Mong a chị giúp em. Em đang học về web html trong c#. Khi e chạy trên google chorm thì được. Nhưng khi dừng chạy chương trình, em copy link localhots://53957/index.html chẳng hạn và gửi link qua cho bạn thì nó báo lỗi không khả dụng net::ERROR_Connection_Refused

Diều Hâu
Quản trị viên
Trả lời  Đăng Vĩnh
13/03/2020 10:09 chiều

localhost chạy trên máy bạn thôi 🙂

Thanh Vân
Thanh Vân
14/05/2021 5:31 chiều

Làm ơn cho mình hỏi cách khắc phục khi sửa điểm trên phần mềm HS chữ đỏ về chữ đen ntn vậy. Mình cảm ơn

Minh An
Quản trị viên
Trả lời  Thanh Vân
14/05/2021 10:59 chiều

Phần mềm HS là phần mềm gì vậy bạn?

Lê Văn Thắng
Lê Văn Thắng
29/05/2021 6:45 sáng

phần mềm của trường minh bị lỗi báo cáo không hiển thị đầy đủ thông tin phải làm ntn? ạ

Minh An
Quản trị viên
Trả lời  Lê Văn Thắng
31/05/2021 10:14 chiều

Bạn có thể gửi hình ảnh chính xác lỗi được không?

Khúc Vân Linh
Khúc Vân Linh
Trả lời  Lê Văn Thắng
09/08/2021 3:22 chiều

mình cũng bị như bạn phải làm sao ạ?

Minh An
Quản trị viên
Trả lời  Khúc Vân Linh
09/08/2021 4:07 chiều

Bạn gửi ảnh lỗi cho xem cụ thể là gì nhé

Sơn
Sơn
29/06/2021 8:54 sáng

tôi gặp lỗi như sau khi đăng nhập wordpress Có vẻ như file wp-config.php không tồn tại. Cần phải có nó để chúng ta có thể bắt đầu. Bạn cần thêm trợ giúp? Đã có chúng tôi đây!. Bạn có thể tạo ra một file wp-config.php thông qua giao diện web, nhưng nó có thể không làm việc cho tất cả các server. Cách an toàn nhất là tạo file này một cách thủ công. Vậy phải làm sao để tạo file wp-config.ph mà nó ko được tạo ra trong quá trình tôi cài wordpress? đây là đường link của dòng chữ màu xanh trên:… Đọc thêm »

Diều Hâu
Quản trị viên
Trả lời  Sơn
30/06/2021 6:33 sáng

wp-config.php là file mặc định trong source của WP bạn kiểm tra lại xem file đó có còn không.
Nếu mất thì bạn lên wordpress.org tải source mới của WP về và cài lại nhé.

Hồng Hạnh
Hồng Hạnh
25/11/2021 9:19 sáng

Anh ơi cho em hỏi em tạo access nó hiện “the application is disabled, and databases may not be created” giờ em làm sao vậy anh ?

Thai Binh Duong
Thai Binh Duong
27/11/2021 9:35 sáng

hix em làm hết theo cách của anh mà nó vẫn không chạy anh ạ, anh giúp em với 😫

Minh An
Quản trị viên
Trả lời  Thai Binh Duong
29/11/2021 10:43 chiều

Bạn chat với page của mình nhé