Error establishing a database connection là lỗi không hề hiếm gặp trên WordPress. Khi mới gặp phải sự cố này, chắc hẳn bạn sẽ cảm thấy khá bối rối không biết nên làm gì. Đừng quá lo lắng bởi sau đây, Kiến thức Phần Mềm sẽ chỉ ra nguyên nhân và cách khắc phục lỗi này chỉ trong một nốt nhạc. Cùng tìm hiểu nhé!
Tổng quan về lỗi Error establishing a database connection
Lỗi “Error establishing a database connection” là gì?
“Error establishing a database connection” là lỗi không thể thiết lập kết nối với cơ sở dữ liệu. Những nguyên nhân dẫn đến lỗi này thường là do băng thông, server hoặc cơ sở dữ liệu chứ hoàn toàn không phải vấn đề về cấu hình website. Để hiểu bản chất của lỗi này trước hết chúng ta hãy cùng nghiên cứu về cấu trúc của WordPress.
Cấu trúc của WordPress
Đến nay, WordPress vẫn là một trong những nền tảng phát triển website được ưa chuộng hàng đầu. Nền tảng này được tạo nên bởi 2 thành phần chính đó là:
- PHP: Ngôn ngữ lập trình cấp cao, được sử dụng để viết hầu hết các tệp và chức năng quan trọng của WordPress.
- MySQL: Đây là nền tảng quản trị cơ sở dữ liệu, có nhiệm vụ lưu trữ toàn bộ các nội dung trang web của người dùng WordPress. Nội dung được lưu trữ bao gồm logo, tiêu đề, bố cục, màu sắc… và nhiều yếu tố khác có trên website.
Để website của bạn có thể hoạt động và hiển thị thì WordPress cần kết hợp sử dụng các lệnh PHP và lấy dữ liệu từ MySQL. Nếu hai yếu tố này không có sự kết hợp nhuần nhuyễn sẽ dẫn đến lỗi không thể kết nối với cơ sở dữ liệu.
Tại sao xảy ra lỗi Error establishing a database connection?
Dưới đây là những nguyên nhân chính gây ra tình trạng kết nối với cơ sở dữ liệu không thành công trên WordPress:
- Lỗi cơ sở dữ liệu: Cơ sở dữ liệu bị lỗi có thể bắt nguồn từ việc plugin hoặc theme bị cài các lệnh độc hại hay website của bạn bị tấn công. Khi đó cơ sở dữ liệu của website cũng sẽ trở nên rối tung, không theo trình tự ban đầu.
- Sai thông tin cơ sở dữ liệu của File wp-config.php: Lỗi này rất thường gặp và cũng khá dễ khắc phục. Nếu sai thông tin cơ sở dữ liệu của File wp-config.php thì chủ yếu là do thông tin đăng nhập vào Database có sai sót.
- Máy chủ không phản hồi hoặc bị lỗi: Lỗi máy chủ bắt nguồn từ đơn vị cung cấp dịch vụ hosting cho website của bạn. Nếu máy chủ của nhà cung cấp đó bị sập hoàn toàn do các cuộc tấn công DDOS hoặc bất cứ nguyên nhân nào thì trang web của bạn cũng sẽ gặp trục trặc theo.
- Băng thông bị quá tải: Nếu sử dụng gói hosting quá nhỏ nhưng trang web của bạn lại có quá nhiều người truy cập thì rất dễ dẫn tới tình trạng quá tải băng thông. Khi đó cơ sở dữ liệu sẽ không phản hồi kịp thời và gây ra lỗi “error establishing a database connection”.
Cách sửa lỗi Error establishing a database connection trên Cpanel
Khi thấy website hiển thị lỗi không kết nối được với cơ sở dữ liệu thì trước hết, bạn cần đăng vào cơ sở dữ liệu của mình. Tùy vào nhà cung cấp hosting mà bạn sẽ được cấp Cpanel, DirectAdmin hoặc không có.
Sau khi đã đăng nhập thành công, bạn hãy thực hiện theo các cách làm dưới đây để sửa lỗi.
Kiểm tra file wp-config.php
Bước 1: Sau khi đã đăng nhập thành công vào Cpanel, bạn tìm và click vào mục Domains rồi chọn website đang gặp sự cố.
Bước 2: Tại giao diện File Manager, bạn click chuột phải vào file wp-config.php > nhấn Edit.
Bước 3: Lúc này bạn tiến hành kiểm tra các dòng dữ liệu dưới đây:
// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define( ‘DB_NAME’, ‘database_name’ );
/** MySQL database username */
define( ‘DB_USER’, ‘username’ );
/** MySQL database password */
define( ‘DB_PASSWORD’, ‘password );
/** MySQL hostname */
define( ‘DB_HOST’, ‘localhost’ );
Những thông tin này cần đạt được sự chính xác tuyệt đối thì WordPress mới có thể kết nối được với cơ sở dữ liệu.
Bước 4: Tiếp theo bạn truy cập vào MySQL Database và kiểm tra độ trùng khớp của Database_name, Username và Password so với các thông tin trong file wp-config.php. Nếu thấy sai sót thì cần chỉnh sửa lại cho đúng.
Lưu ý: Mục DB_HOST còn tùy vào gói hosting mà bạn đăng ký. Nếu dùng Shared hosting thì mục này sẽ hiển thị dòng chữ ‘localhost’. Đối với những trường hợp khác bạn cần tìm kiếm thông tin từ nhà cung cấp hosting để kiểm tra tên DB_HOST.
Kiểm tra phân quyền
Nếu như thông tin trong file wp-config.php và MySQL Database đã trùng khớp nhưng vẫn xuất hiện lỗi Error establishing a database connection thì bạn cần kiểm tra xem user đó đã được cấp đầy đủ các quyền chưa. Cách thực hiện như sau:
Bước 1: Vào MySQL Database, kéo xuống đến khi nhìn thấy mục Add User To Database. Tiếp theo bạn click vào user và database cần kiểm tra > chọn Add.
Bước 2: Tại giao diện Manage User Privileges, bạn hãy tick vào All Privileges để đảm bảo rằng tài khoản người dùng đó được cấp quyền đầy đủ.
Kiểm tra bảng Table Prefix Value
Không ít trường hợp người dùng đã sửa tất cả những lỗi trên và website WordPress có dữ liệu nhưng website vẫn trả về trang WordPress trống hoặc màn hình thiết lập WordPress ban đầu. Khi đó bạn cần kiểm tra các giá trị nằm trong bảng Prefix Value.
Trong quá trình kiểm tra, nếu thấy giá trị tại cơ sở dữ liệu và Table Prefix Value có sự sai lệch thì bạn cần điều chỉnh lại cho chính xác.
Kiểm tra MySQL đã được kích hoạt chưa
Nếu sử dụng hosting của Cloudlinux thì người dùng cần bổ sung thêm tính năng PHP Selector. Chức năng này sẽ cho phép bật tắt các PHP Extension một cách nhanh chóng và thuận tiện. Tuy nhiên nếu sử dụng lần đầu thì chức năng PHP Selector rất khó để làm quen. Dưới đây là cách kiểm tra MySQL đã được bật chưa:
Bước 1: Truy cập vào Cpanel > chọn Select PHP version.
Bước 2: Hãy chắc chắn rằng tất cả những PHP Extension dưới đây đã được kích hoạt:
- Mbstring
- mysqlnd
- nd_mysqli
- pdo_mysql
- pdo_sqlite
Liên hệ với đơn vị cung cấp hosting
Một giải pháp khác mà bạn có thể nghĩ tới đó là liên hệ với đơn vị cung cấp hosting để được trợ giúp. Đội ngũ kỹ thuật viên sẽ tư vấn và hỗ trợ bạn về mặt kỹ thuật chuyên môn để nhanh chóng xử lý sự cố.
Khôi phục WordPress về trạng thái ban đầu
Nếu đã thực hiện tất cả các cách trên nhưng vẫn không thể khắc phục lỗi Error establishing a database connection WordPress thì giải pháp cuối cùng đó là khôi phục WordPress về trạng thái ban đầu. Tuy nhiên trước khi thực hiện thao tác này, bạn cần sao lưu lại toàn bộ dữ liệu có trong file wp-content để tránh phải xây dựng lại từ đầu.
Mong rằng những thông tin có trong bài viết này đã giúp bạn khắc phục lỗi Error establishing a database connection trên WordPress. Nếu gặp bất cứ khó khăn nào, bạn đừng ngần ngại để lại bình luận bên dưới bài viết để được đội ngũ support của Kiến Thức Phần Mềm hỗ trợ nhiệt tình nhé. Chúc bạn sửa lỗi thành công!
Ban biên tập: Kiến Thức Phần Mềm