Cách khắc phục lỗi kết nối DB trong WordPress

Bài viết này vừa được chỉnh sửa lúc: 26/06/2018

Lỗi Thiết lập kết nối cơ sở dữ liệu là một trong những lời nguyền có thể do nhiều nguyên nhân gây ra.

Là một người mới bắt đầu WordPress, điều này có thể cực kỳ bực bội đặc biệt khi nó xảy ra một mình mà không thay đổi bất cứ điều gì.

Mới bắt đầu với WP IZ4WEB đã gặp phải sự cố như thế này đã mất hơn 20 phút để phát hiện và khắc phục sự cố.

Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách khắc phục lỗi khi thiết lập kết nối cơ sở dữ liệu trong WordPress.

Lưu ý: Trước khi bạn thực hiện bất kỳ thay đổi cơ sở dữ liệu nào, hãy đảm bảo bạn có đủ bản sao lưu.

Tại sao bạn nhận được lỗi này?

Tóm lại, bạn nhận được lỗi này vì WordPress không thể thiết lập kết nối cơ sở dữ liệu.

Một vài lý do như:

  • Thông tin xác thực đăng nhập DB của bạn sai hoặc đã bị thay đổi.
  • Do máy chủ cơ sở dữ liệu của bạn không phản hồi.
  • Nó có thể là database của bạn đã bị hỏng.

Theo kinh nghiệm của chúng tôi, hầu hết trường hợp là do lỗi máy chủ tuy nhiên cũng có thể có các yếu tố khác.

Hãy xem xét cách khắc phục sự cố này.

Vấn đề có xảy ra với / wp-admin / không?

Điều đầu tiên bạn nên làm là đảm bảo rằng bạn đang nhận được cùng một lỗi trên cả front-end và back-end của trang web (wp-admin).

Trường hợp bạn nhận được một lỗi khác trên wp-admin, ví dụ như “Một hoặc nhiều bảng cơ sở dữ liệu không có sẵn. Cơ sở dữ liệu có thể cần phải được sửa chữa ”, điều này có nghĩa là cần phải sửa chữa lại DB của bạn.

Nếu thông báo lỗi giống nhau trên cả hai trang thì ta tiến hành bước tiếp theo.

Thêm dòng này vào file “/config.php“:

define('WP_ALLOW_REPAIR', true);

Cách khắc phục lỗi kết nối DB trong WordPress

 

Hãy nhớ rằng, người dùng không cần phải đăng nhập để truy cập chức năng này khi xác định được thiết lập.

Do mục đích chính của nó là sửa chữa một CSDL và người dùng thường không thể đăng nhập khi CDSL bị hỏng.

Vì vậy, một khi bạn đã hoàn tất việc sửa chữa và tối ưu hóa DB của mình, hãy đảm bảo xóa nó khỏi tệp wp-config.php .

Nếu sửa chữa này không khắc phục được sự cố  hãy tiếp tục đọc bài viết này vì bạn có thể tìm một giải pháp khác để khắc phục.

Cách khắc phục lỗi kết nối DB trong WordPress

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

WP-Config.php có lẽ là tập tin quan trọng nhất trong toàn bộ quá trình cài đặt WordPress của bạn.

Đây là nơi WordPress  kết nối tới DB của bạn.

Nếu bạn đã thay đổi mật khẩu gốc, hoặc mật khẩu người dùng cơ sở dữ liệu, thì bạn cũng cần thay đổi tệp này.

Mọi thứ trong tập tin wp-config.php của bạn là như nhau.

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

Hãy nhớ rằng giá trị DB_Host của bạn có thể không phải lúc nào cũng là localhost.

Tùy thuộc vào máy chủ, nó sẽ khác nhau. Đối với các máy chủ phổ biến như HostGator, BlueHost, Site5, đó là localhost.

Một số người cho rằng họ đã khắc phục sự cố của họ bằng cách thay thế localhost bằng IP.

Thông thường, bạn sẽ thấy loại sự cố này khi chạy WordPress trên môi trường máy chủ cục bộ.

Ví dụ trên MAMP, giá trị DB_Host khi thay đổi thành IP để hoạt động.

define('DB_HOST', '127.0.0.1:8889');

IP sẽ thay đổi đối với dịch vụ lưu trữ web trực tuyến.

Nếu mọi thứ trong tệp này là chính xác (hãy đảm bảo bạn kiểm tra lỗi chính tả), khoảng trắng hoặc dấu “cách” cũng khiến kết nối DB bị lỗi.

2. Kiểm tra Máy chủ web của bạn (Máy chủ MySQL)

+ Trường hợp 1:

Thông thường bạn sẽ nhận thấy lỗi này khi website bị quá tải lưu lượng truy cập.

Hoting của bạn không thể đáp ứng (đặc biệt khi bạn đang dùng hosting được chia sẻ).

Trang web của bạn sẽ rất chậm và một số người dùng thậm chí còn xuất ra lỗi.

Vì vậy, điều tốt nhất bạn nên làm là nâng cấp máy chủ MySQL của bạn.

+ Trường hợp 2:

Đối với trường bạn đang dùng một máy chủ MySQL riêng bạn có thể làm một vài điều như sau:

Kiểm tra các trang web khác trên cùng một máy chủ để xem liệu chúng có vấn đề hay không.

Nếu tất cả đề có cùng một lỗi, chắc chắn đã có nỗi sảy ra với máy chủ MySQL của bạn.

Trường hợp không có bất kỳ trang web nào khác trên cùng một tài khoản lưu trữ này.

Bạn hãy truy cập cPanel của bạn và thử truy cập phpMyAdmin và kết nối cơ sở dữ liệu.

Nếu có thể kết nối, cần xác minh xem user database của bạn được cấp đủ quyền không.

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

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

Nếu kết nối thành công, thì điều đó có nghĩa là user của bạn chưa có đủ các quyền.

Quay lại tệp wp-config của bạn để đảm bảo mọi thứ đều chính xác (kiểm lỗi chính tả).

Nếu bạn không thể kết nối với DB bằng cách vào phpMyAdmin, thì có nghĩa đã xảy ra lỗi với máy chủ của bạn.

Hãy liên hệ vói đơn vị cung cấp dịch vụ cho bạn để được hỗ trợ.

+ Trường hợp #

Trong trường hợp của chúng tôi, máy chủ MySQL của chúng tôi đang chạy.

Tất cả các trang khác trên máy chủ đều hoạt động tốt trừ WPBeginner.

Khi chúng tôi cố gắng truy cập vào phpMyAdmin, chúng tôi đã gặp phải lỗi:

#1045 – Access denied for user ‘foo’@’%’ (using password: YES)

Tôi thử liên hệ với nhà cung cấp dịch vụ  hosting và họ nhanh chóng tìm thấy vấn đề.

Bằng cách nào đó quyền của người dùng của chúng tôi đã được đặt lại.

Không chắc chuyện đó xảy ra như thế nào, nhưng rõ ràng đó là lý do.

Nếu các truy cập bị từ chối lỗi trong hoặc kết nối với phpMyAdmin của bạn hoặc thông qua kết quả testconnection.php.

Bạn nên liên hệ với đơn  vị cung cấp máy chủ gấp để họ hỗ trợ bạn sửa chữa.

3. Giải pháp khác

+ Thử truy vấn SQL bằng cách vào phpMyAdmin thực hiện câu lệnh bên dưới.

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

 

+ Thay thế file config.php bằng 1 file mới cùng tên file

+ Kiểm tra mọi thứ trong file config.php xem có gõ sai chỗ nào không kể cả dấu cách.

 

0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x