Vào một ngày đẹp trời bạn truy cập website của mình và nhận được lỗi Error establishing a database connection, điều này có nghĩa là PHP code không thể kết nối tới MySQL database để lấy thông tin.
Có nghĩa là WordPress được viết bằng ngôn ngữ PHP và MySQL làm database. Khi người dùng truy cập trên website của bạn, PHP code sẽ truy xuất database MySQL và lấy thông tin cần thiết để chạy trang. Nếu thất bại hoặc thông tin không chính xác WordPress sẽ hiện lỗi này lên.
Trong bài hướng dẫn này, nxthemes sẽ đưa ra nhiều phương pháp để sửa loại Error establishing a database connection trong WordPress.
Sau khi đọc xong hướng dẫn này, bạn sẽ biết hết tất cả nguyên nhân gây lỗi và cách sửa lỗi WordPress này hoàn toàn.
I. Khắc phục Lỗi Error Establishing A Database Connection
1.Kiểm ra file wp-config.php
Trong quá trình cài đặt WordPress, wp-config.php là file quan trọng nhất. Đây là địa chỉ bạn xác định các chi tiết cho WordPress để kết nối với database.
Nếu bạn thay đổi mật khẩu của database mysql, bạn cần phải cập nhật lại thông tin database.
Phần thông tin của database của một trang có dạng như sau :
define(‘DB_NAME’, ‘database-name’);
define(‘DB_USER’, ‘database-username’);
define(‘DB_PASSWORD’, ‘database-password’);
define(‘DB_HOST’, ‘localhost’);
Giá trị DB_Host của bạn có thể không là localhost mà tùy thuộc vào host và nó sẽ khác nhau. Thường share host có giá trị là localhost .
Còn nếu bạn sử dụng mysql remote từ một trang khác vậy bạn có thể cần chú ý để cập nhật cho đúng.
Nếu mọi thứ trong tệp wp-config.php đều đúng (chắc chắn kiểm tra cả lỗi chính tả) thì chắc chắn có vấn đề gì đó sai trên thiết lập hosting hoặc server của bạn.
2.Kiểm ra phân quyền user và database.
Bạn cần phải chắc chắn rằng, user cấu hình trên wp-config.php phải có đầy đủ quyền thao tác với database ( cơ sở dữ liệu ). Đối với Cpanel bạn cần truy cập phần mysql database và kiểm tra lại việc phân quyền.
Bạn check việc phân quyền database cho user bên trong trang quản trị mysql.
Tại phần Add User To Database bạn check xem user có full quyền với database hay không
Tiếp tục bấm tick vào full quyền và nhấn thay đổi.
3.Kiểm tra giá trị table prefix value
Bạn phải chắc chắn rằng giá trị prefix value phải được thiết lập đúng giống như trên database như chẳng hạn trong wp-config.php có giá trị là :
$table_prefix = ‘wp_’;
Trên database của tôi cũng phải đúng dạng wp_ như hình dưới.
4.Kiểm tra extension mysql trên php đã được bật hay chưa.
Kiểm tra extension Mysql ( tức là Mysqli của PHP ). Đối với hosting sử dụng Cloudlinux sẽ được trang bị thêm chức năng PHP Selector cho phép bật và tắt PHP Extension.
Lúc này bạn cần kiểm tra xem Extension Mysql đã được bật hay chưa.
- Đối với PHP 7.x cần đảm bảo các extension sau được bật
5.Thử Repair WordPress Database
Có thể đôi khi do lỗi của DATABASE, bạn có thể thử sửa lỗi DATABASE bằng cách thêm dòng sau vào file wp-config.php
define(‘WP_ALLOW_REPAIR’, true);
Sau đó bạn truy cập đường link dẫn: http://tên_web_site_của_bạn.com/wp-admin/maint/repair.php
Nếu như tất cả phương pháp trên không thành công, bạn có thể liên hệ với quản trị hosting kiểm tra thêm cho bạn.
Chúc các bạn thành công.