Làm thế nào để Sửa Lỗi Thiết lập kết nối cơ sở dữ liệu trong WordPress

Nếu bạn lướt web một thời gian, bạn ít nhất đã gặp lỗi này vài lần. Lỗi khi 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ể gây ra bởi nhiều lý do. Là một người mới bắt đầu của WordPress, điều này có thể gây bực bội cực kỳ đặc biệt khi nó xảy ra trên chính nó mà không cần thay đổi bất cứ điều gì. Chúng tôi chạy vào vấn đề này ngày hôm qua trên trang web của riêng chúng tôi. Phải mất hơn 20 phút để phát hiện và khắc phục sự cố. Trong khi làm nghiên cứu để tìm ra các nguyên nhân có thể, chúng tôi nhận ra rằng không có bài báo nào đề cập đến mọi thứ. Trong bài này, chúng tôi sẽ chỉ cho bạn cách khắc phục lỗi thiết lập kết nối cơ sở dữ liệu trong WordPress bằng cách biên soạn một danh sách các giải pháp tất cả ở một nơi.

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

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

Vâng trong ngắn hạn, bạn đang nhận được lỗi này bởi vì WordPress không thể thiết lập kết nối cơ sở dữ liệu. Bây giờ lý do tại sao WordPress không thể thiết lập một kết nối cơ sở dữ liệu có thể khác nhau. Nó có thể là chứng chỉ đăng nhập cơ sở dữ liệu của bạn là sai hoặc đã được thay đổi. Nó có thể là máy chủ cơ sở dữ liệu của bạn không phản hồi. Nó có thể là cơ sở dữ liệu của bạn đã bị hỏng. Theo kinh nghiệm của chúng tôi, đa số các lỗi này xảy ra vì một số loại lỗi máy chủ tuy nhiên có thể có các yếu tố khác là tốt. Chúng ta hãy xem làm thế nào để khắc phục sự cố này.

Liệu vấn đề xảy ra cho / wp-admin / là tốt?

Điều đầu tiên bạn cần làm là đảm bảo rằng bạn nhận được lỗi tương tự trên cả giao diện người dùng cuối của trang web và phần cuối của trang web (wp-admin). Nếu thông báo lỗi là giống nhau trên cả hai trang “Lỗi thiết lập kết nối cơ sở dữ liệu”, sau đó tiến hành bước tiếp theo. Nếu bạn nhận được một lỗi khác nhau trên wp-admin chẳng hạn 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 được sửa chữa “, sau đó bạn cần phải sửa chữa cơ sở dữ liệu của bạn.

Bạn có thể thực hiện việc này bằng cách thêm dòng sau vào tệp wp-config.php. Thêm nó ngay trước khi ‘Tất cả, ngừng chỉnh sửa! Happy blogging ‘ dòng wp-config.php.

define ('WP_ALLOW_REPAIR', true); 

Khi bạn đã làm xong, bạn có thể thấy các cài đặt bằng cách truy cập vào trang này: http://www.yoursite.com/wp-admin/maint/repair.php

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

Hãy nhớ rằng, người dùng không cần đăng nhập để truy cập vào chức năng này khi định nghĩa này được thiết lập. Điều này là do ý định chính của nó là để sửa chữa một cơ sở dữ liệu bị hỏng, người dùng thường không thể đăng nhập khi cơ sở dữ liệu 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 cơ sở dữ liệu của mình, hãy chắc chắn xóa nó khỏi wp-config.php.

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

Kiểm tra tệp tin WP-Config

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 bạn chỉ định các chi tiết cho WordPress để kết nối cơ sở dữ liệu 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, bạn cũng cần phải thay đổi tệp này. Điều đầu tiên bạn nên kiểm tra là nếu mọi thứ trong file wp-config.php của bạn là giống nhau.

define ('DB_NAME', 'database-name');
 define ('DB_USER', 'database-username');
 define ('DB_PASSWORD', 'cơ sở dữ liệu-mật khẩu');
 define ('DB_HOST', 'localhost'); 

Nhớ 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 chủ nhà, nó sẽ khác nhau. Đối với các máy chủ phổ biến như HostGator, BlueHost, Site5, nó là localhost. Bạn có thể tìm thấy các giá trị lưu trữ khác ở đây.

Một số người cho rằng họ đã khắc phục vấn đề bằng cách thay thế localhost bằng IP. Thông thường, để xem loại vấn đề 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 có thể hoạt động.

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

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

Nếu mọi thứ trong tệp tin này là chính xác (đảm bảo bạn kiểm tra lỗi chính tả), thì thật là công bằng khi nói rằng có vấn đề gì đó xảy ra trên máy chủ.

Kiểm tra máy chủ Web của bạn (MySQL Server)

Thông thường, bạn sẽ nhận thấy Lỗi này khi thiết lập kết nối cơ sở dữ liệu khi trang web của bạn bị tràn ngập với nhiều lưu lượng truy cập. Về cơ bản, máy chủ lưu trữ của bạn chỉ không thể xử lý tải (đặc biệt khi bạn đang chia sẻ lưu trữ). Trang web của bạn sẽ thực sự chậm và cho một số người dùng thậm chí xuất ra lỗi. Vì vậy, điều tốt nhất bạn nên làm là nhận được trên điện thoại hoặc livechat với nhà cung cấp hosting của bạn và yêu cầu họ nếu máy chủ MySQL của bạn là đáp ứng.

Đối với những người dùng muốn kiểm tra nếu máy chủ MySQL đang chạy chính mình, bạn có thể làm một vài điều. Kiểm tra các trang web khác trên cùng một máy chủ để xem họ có vấn đề hay không. Nếu họ cũng nhận được lỗi tương tự, sau đó nhất chắc chắn có cái gì đó sai trái với máy chủ MySQL của bạn. Nếu bạn không có bất kỳ trang web khác trên cùng một tài khoản lưu trữ này chỉ cần vào cPanel của bạn và thử truy cập vào phpMyAdmin và kết nối cơ sở dữ liệu. Nếu bạn có thể kết nối, sau đó chúng ta cần phải xác minh nếu người dùng cơ sở dữ liệu của bạn có đủ quyền. Tạo một tập tin mới được gọi là testconnection.php và dán mã sau vào nó:

Đảm bảo thay thế tên người dùng và mật khẩu. Nếu 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 và có điều gì đó sai. Quay trở lại tệp wp-config của bạn để đảm bảo rằng mọi thứ có chính xác (quét lại lỗi đánh máy).

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, thì bạn biết nó là cái gì đó với máy chủ của bạn. Nó không nhất thiết có nghĩa là máy chủ MySQL của bạn bị lỗi. Có thể có nghĩa là người dùng của bạn không có đủ quyền.

địa điểm

# 1045 – Truy cập bị từ chối cho người dùng ‘foo’ @ ‘%’ (sử dụng mật khẩu: YES)

Chúng tôi đã nhận được trên điện thoại với HostGator và hỗ trợ của họ một cách nhanh chóng tìm thấy vấn đề. Bằng cách nào đó quyền người dùng của chúng tôi đã được đặt lại. Không chắc chắn điều đó đã xảy ra, nhưng rõ ràng đó là lý do. Họ đã quay trở lại và khôi phục quyền truy cập và chúng tôi đã có thể lấy lại trang web.

Vì vậy, nếu bạn nhận được lỗi truy cập đã bị từ chối trong kết nối với phpMyAdmin của bạn hoặc thông qua kết quả testconnection.php, sau đó bạn nên liên hệ với máy chủ của bạn ngay lập tức để giúp họ khắc phục.

Các giải pháp làm việc cho người khác

Điều quan trọng cần lưu ý là những điều này có thể không phù hợp với bạn. Sử dụng rủi ro của riêng bạn và đảm bảo rằng bạn có đủ bản sao lưu nếu có sự cố.

Deepak Mittal nói rằng khách hàng của ông đã nhận được lỗi rằng cơ sở dữ liệu cần phải được sửa chữa. Ngay cả sau khi sửa chữa cơ sở dữ liệu, lỗi đã không biến mất. Ông đã cố gắng nhiều thứ và vào cuối, vấn đề là địa chỉ trang web. Rõ ràng đã được thay đổi đã gây ra lỗi để tồn tại. Ông đã chạy truy vấn SQL bằng cách vào phpMyAdmin:

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

Đảm bảo thay thế YOUR_SITE_URL bằng ví dụ url thực tế: http://www.site.com. Wp_options sẽ khác nếu bạn đã thay đổi tiền tố cơ sở dữ liệu WordPress mặc định.

Điều này dường như để khắc phục vấn đề cho anh ta và một vài người khác cũng bình luận về bài của anh ta.

Sachinum gợi ý rằng ông có thể kết nối cơ sở dữ liệu với testconnection.php, vì vậy ông đã thay đổi người dùng wp-config.php tới người dùng gốc. WordPress bắt đầu làm việc hoàn hảo. Sau đó, ông quay trở lại các thiết lập lại cho người sử dụng cơ sở dữ liệu, và nó tiếp tục làm việc. Anh không thể hiểu được điều gì đã sai, nhưng kết luận rằng đó là một lỗi đánh máy.

Cutewonders đề xuất rằng họ đã xóa nội dung của các tệp active_plugins trong bảng wp_options và chỉnh sửa nội dung recent_edited. Về cơ bản mà dường như để khắc phục vấn đề. Xin vui lòng phản ứng đầy đủ của họ ở đây.

Chúng tôi đọc trên nhiều nguồn mà người dùng chỉ cần tải lên một bản sao mới của WordPress và sửa lỗi này.

Đây là một lỗi thực sự bực bội. Bạn đã thử những gì có vẻ như để làm việc cho bạn? Chúng tôi rất sẵn lòng mở rộng nguồn lực này, vì vậy những người khác không phải tốn nhiều thời gian để tìm ra giải pháp.