Lỗi “Error establishing a database connection” trong WordPress xuất hiện khi trang web không thể kết nối với cơ sở dữ liệu MySQL của bạn để truy xuất dữ liệu cần thiết. Lỗi này có thể xảy ra vì nhiều lý do, bao gồm thông tin đăng nhập cơ sở dữ liệu không đúng, cơ sở dữ liệu MySQL bị lỗi, hoặc máy chủ MySQL không hoạt động.
Nguyên nhân và giải pháp khắc phục lỗi kết nối cơ sở dữ liệu WordPress
Để có thể điều tra nguyên nhân gây ra lỗi “Error establishing a database connection” trong WordPress và tìm ra một giải pháp khắc phục hoàn hảo, bạn cần phải hiểu và xác định được nguyên nhân của nó. Hãy dành thời gian tìm hiểu để xác định nguyên nhân và tìm ra giải pháp phù hợp.
1. Kiểm tra dung lượng lưu trữ Hosting/Server
Trước tiên, chắc chắn là bạn sẽ cần chắc chắn rằng dịch vụ MySQL đang hoạt động bình thường và không có lỗi gì sảy ra.
Nếu hosting của bạn bị hết dung lượng, MySQL có thể bị dừng lại khi dung lượng hosting đã sử dụng hết do không đủ không gian lưu trữ, không thể ghi log, hoặc hệ thống bị quá tải. Bạn cần giải quyết nếu hệ thống đã sử dụng hết dung lượng.
2. Kiểm tra trạng thái MySQL trên hosting
- Đăng nhập vào trang quản lý hosting.
- Tìm phần quản lý cơ sở dữ liệu.
- Kiểm tra trạng thái của MySQL bằng cách xem trạng thái hoạt động của các cơ sở dữ liệu.
- Kiểm tra thông báo hoặc thông tin liên quan đến lỗi để hiểu và khắc phục vấn đề.
Trong phần quản lý cơ sở dữ liệu, bạn thấy danh sách các cơ sở dữ liệu bạn đã tạo. Kiểm tra trạng thái của MySQL bằng cách xem các cơ sở dữ liệu có hoạt động hay không. Nếu một hoặc nhiều cơ sở dữ liệu hiển thị trạng thái “hoạt động” hoặc “running”, dịch vụ MySQL đang hoạt động bình thường.
3. Kiểm tra phân quyền người dùng (User) và Database
Bạn cần phải chắc chắc rằng user cấu hình trong wp-config.php
phải có đầy đủ quyền thao tác với database. Và ở trong hosting của bạn, hãy thực hiện cập nhật quyền như sau:
Bạn kiểm tra xem việc phân quyền database cho user bên trong trang quản trị mysql.
Bạn kiểm tra xem người dùng có được cấp đầy đủ quyền truy cập đến cơ sở dữ liệu hay không thông qua phần “Add User To Database”. Sau đó, bạn chọn tùy chọn “Full Privileges” và thực hiện việc thay đổi.
4. Kiểm tra các tiện ích (extension) MySQL sử dụng cho PHP
Hãy thực hiện kiểm tra trạng thái của các extension Mysql và Mysqli trong môi trường PHP. Trong trường hợp sử dụng hosting thông thường với cPanel, có sẵn tính năng PHP Selector, cho phép người dùng điều chỉnh các extension PHP. Vì vậy, trước hết, cần xác định liệu extension Mysql đã được kích hoạt hay chưa.
5. Kiểm tra cấu hình kết nối tới cơ sở dữ liệu (database)
Wordpress có file cấu hình là “wp-config.php” nó sẽ chứa các thông tin cần thiết để kết nối cơ sở dữ liệu, như tên máy chủ, tên người dùng, mật khẩu và tên cơ sở dữ liệu.
define( 'DB_NAME', 'dev_itsmeit' ); /** Database username */ define( 'DB_USER', 'dev_itsmeit' ); /** Database password */ define( 'DB_PASSWORD', '!YouPassword!!#' ); /** Database hostname */ define( 'DB_HOST', 'localhost' );
Hãy nhìn vào những cấu hình bên trên, sau đó bạn cần chắc chắc là mình đã cấu hình chính xác những thông tin để cho phép Wordpress kết nối tới cơ sở dữ liệu.
Ngoài ra trong file wp-config.php cũng còn 1 cấu hình khác cũng rất quan trọng. Mặc định Wordpress có table_prefix là “wp_”. Vậy bạn cũng cần chắc chắn table_prefix khớp với table hiện tại mà bạn đang kết nối.
$table_prefix = 'wp_';
Trong trường hợp lỗi “Lỗi thiết lập một kết nối cơ sở dữ liệu” của ItsmeIT, tôi nhận ra rằng table_prefix được thiết lập là “k2i7ua7nu_”, trong khi trong file cấu hình wp-config.php của WordPress lại là “wp_”.
Điều này không khớp với nhau và gây ra sự cố. Tuy nhiên, sau khi tôi điều chỉnh table_prefix để phù hợp với “k2i7ua7nu_”, hệ thống đã hoạt động bình thường như mong đợi.
– Advertising –