Mã lỗiError establishing a database connection, có nghĩa là vì lý do nào đó mà PHP code không thể kết nối tới MySQL database để lấy thông tin cần để dựng trang.
Có nhiều lý do website có thể gặp lỗi kết nối database trên WordPress, nhưng thông thường sẽ rơi vào ba trường hợp:
- Sai thông tin đăng nhập vào MySQL database của WordPress. Nếu thông tin đăng nhập bị thay đổi do WordPress được chuyển đi, hoặc chuyển qua nhà cung cấp hosting khác, website của bạn sẽ không truy cập được tới database với thông tin cũ. Bạn cũng cần lưu ý là Databse WordPress sử dụng thông tin đăng nhập khác với tài khoản đã được cấp để truy cập hosting account control panel. Theo kinh nghiệm của chúng tôi, lỗi này thường xảy ra nhất.
- Một hoặc nhiều plugin khiến database bị hỏng.Có nhiều lý do khiến WordPress database bị hỏng, hầu hết là do bạn đã upload plugin chứa lỗi.
- Server chứa database này bị sập.Database server có thể không hoạt động vì vấn đề kỹ thuật, hoặc bạn có thể gặp trường hợp traffic tăng đột biết khiến bất thình lình server không thể xử lý được. Vì vậy, website sẽ trả về lỗi error establishing a database connection WordPress
Trong bài hướng dẫn này, bạn sẽ biết cách tìm và sửa lỗiestablishing a database connectiontrong WordPress.
Cách để khắc phục lỗi error establishing a database connection là gì?
Bước 1: Xác định lỗi có xảy ra ở WP-Admin không?
Nếu bạn chắc chắn lỗi Error establishing a database connection xuất hiện ở cả Front-end và Back-end của website thì bạn có thể thực hiện theo các bước sau đây:
Xuất hiện 2 lỗi khác nhau trên wp-admin (One or more database tables are unavailable hoặc The database may need to be repaired) thì cần chỉnh lỗi cơ sở dữ liệu:
- Truy cậpcPanel
- Thêm dòng Code:define(‘WP_ALLOW_REPAIR’,true);
- //www.tenmiencuaban.com/wp-admin/maint/repair.php
- Chỉnh sửa cơ sở dữ liệu và tối ưu Database
Bước 2: Kiểm tra File WP-Config.php
Cách 1:
Để cài đặt WordPress thành công thì file wp-config.php đóng vai trò đặc biệt quan trọng. File này chứa thông tin để kết nối với cơ sở dữ liệu (tên, mật khẩu để truy cập cơ sở dữ liệu).
Kiểm tra lại các thông tin trong file wp-content:
1 2 3 4 5 6 7 | define(‘DB_NAME', ‘database-name'); define(‘DB_USER', ‘database-username'); define(‘DB_PASSWORD', ‘database-password'); define(‘DB_HOST', ‘localhost'); |
Cách 2:
- Thay thế IP cho Localhost
- Kiểm tra lại
Bước 3: Kiểm tra Hosting của website muốn truy cập
Khi website nhận được một lượng truy cập lớn cùng một lúc cũng có thể là nguyên nhân gây nênlỗi Error establishing a database connection. Khi đó, Hosting không thể xử lý kịp và xảy ra lỗi kết nối website. Kiểm tra xem có đúng web đang có quá nhiều người truy cập hay không bằng cách:
Truy cập website khác đang dùng chung dịch vụ Hosting với website đang bị lỗi tải trang. Nếu website đó cũng gặp lỗi tương tự chứng tỏ Hosting có vấn đề => liên hệ với nhà cung cấp để được hỗ trợ.
Trường hợp không có website chạy chung Hosting =>đăng nhập cPanel=>truy cập PHPMyAdminđể kết nối Database => tạo file mới và đặt tên “testconnection.php” =>xác minh Usersử dụng cơ sở dữ liệu có được phép kết nối không bằng cách dán đoạn Code sau đây:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [php]</pre> <pre><?php $link = mysql_connect(‘localhost', ‘root', ‘password'); if (!$link) { die(‘Could not connect: ‘ . mysql_error()); } echo ‘Connected successfully'; mysql_close($link); ?></pre> <pre>[/php] |
3. Hai trường hợp lỗi Error establishing a database connection và cách khắc phục
Trường hợp 1: NếuService MySQL đang hoạt động nếu bạn đang dùng VPS
Chắc chắn Service MySQL đang hoạt động nếu bạn đang dùng VPS. Kiểm tra bằng một trong 2 lệnh sau:
Service mysql status
Hoặc
Service mysql status
Nếu kết quả trả về là:
- Màu xanh: hoạt động bình thường
- Màu đỏ:không hoạt động
Nếu MySQL không hoạt động => kiểm traError logtrong thư mục/var/log
Trường hợp 2:Hosting dùng Cloudlinux
Hosting dùng Cloudlinux sẽ có thêm tính năng PHP Selector. Chức năng này cho phép bật/tắt PHP Extension => Kiểm tra xem PHP Extension đã được bật hay chưa?