7+ Cách sửa lỗi Error Establishing a Database Connection Hosting

Lỗi “Error Establishing a Database Connection” là một trong những lỗi phổ biến và khá khó chịu khi sử dụng các hệ quản trị nội dung như WordPress. Lỗi này thường xuất hiện khi website không thể kết nối đến cơ sở dữ liệu MySQL, khiến cho website không thể tải lên hoặc hiển thị đúng cách. Cùng InterData tìm hiểu nguyên nhân gây ra lỗi này và hướng dẫn bạn 7 cách sửa lỗi Error Establishing a Database Connection một cách chi tiết và dễ hiểu, giúp bạn nhanh chóng khôi phục hoạt động của website.

Lỗi Error Establishing a Database Connection là gì?

Lỗi “Error Establishing a Database Connection” là một thông báo lỗi phổ biến trong các ứng dụng web, đặc biệt là các hệ thống quản lý nội dung (CMS) như WordPress, khi không thể kết nối với cơ sở dữ liệu MySQL hoặc MariaDB. Lỗi này thường xuất hiện trên website khi hệ thống không thể thiết lập kết nối với cơ sở dữ liệu, và điều này có thể do nhiều nguyên nhân khác nhau.

Lỗi Error Establishing a Database Connection là gì?
Lỗi Error Establishing a Database Connection là gì?

Nguyên nhân phổ biến gây ra lỗi “Error Establishing a Database Connection”

Lỗi “Error Establishing a Database Connection” xảy ra khi website của bạn không thể kết nối đến cơ sở dữ liệu MySQL hoặc MariaDB. Đây là một lỗi phổ biến, đặc biệt trong các ứng dụng web như WordPress. Các nguyên nhân phổ biến gây ra lỗi này bao gồm:

1. Thông tin kết nối cơ sở dữ liệu không chính xác

Các thông tin trong file cấu hình (ví dụ: wp-config.php trong WordPress) có thể sai, như:

  • Tên cơ sở dữ liệu không đúng.
  • Tên người dùng cơ sở dữ liệu (database user) sai.
  • Mật khẩu cơ sở dữ liệu không chính xác.
  • Tên máy chủ cơ sở dữ liệu (hostname) bị sai hoặc không đúng (ví dụ: localhost hoặc địa chỉ IP của máy chủ cơ sở dữ liệu).

2. Cơ sở dữ liệu không hoạt động hoặc bị lỗi

  • Máy chủ cơ sở dữ liệu có thể dừng hoạt động hoặc gặp sự cố kỹ thuật.
  • Máy chủ cơ sở dữ liệu có thể bị quá tải vì quá nhiều kết nối đồng thời hoặc vì các tác vụ nặng nề.

3. Quyền truy cập không đủ

Tài khoản người dùng mà website sử dụng để kết nối với cơ sở dữ liệu có thể không có quyền truy cập đầy đủ vào cơ sở dữ liệu hoặc quyền bị thay đổi. Hãy đảm bảo rằng người dùng đã được cấp quyền đầy đủ và có quyền truy cập chính xác vào cơ sở dữ liệu.

XEM THÊM:  Domain (tên miền) là gì? Tổng hợp toàn tập kiến thức cơ bản A-Z
Nguyên nhân phổ biến gây ra lỗi Error Establishing a Database Connection
Nguyên nhân phổ biến gây ra lỗi Error Establishing a Database Connection

4. Xung đột cổng kết nối

Đôi khi, cổng kết nối mặc định của MySQL (cổng 3306) có thể bị ứng dụng hoặc tiến trình khác sử dụng. Để tránh tình trạng xung đột này, bạn có thể thay đổi cổng kết nối trong tệp cấu hình của MySQL.

5. Lỗi trong quá trình cài đặt

Nếu bạn mới cài đặt XAMPP hoặc MySQL, có thể đã xảy ra lỗi trong quá trình cài đặt. Trong trường hợp này, bạn có thể thử cài đặt lại hoặc kiểm tra các bản cập nhật và bản vá mới cho XAMPP và MySQL.

6. Lỗi cấu hình tường lửa

Cấu hình tường lửa hoặc mạng có thể gây cản trở kết nối giữa ứng dụng và cơ sở dữ liệu, đặc biệt khi cơ sở dữ liệu được lưu trữ trên máy chủ khác. Nếu tường lửa không cho phép kết nối đến cổng MySQL, lỗi này sẽ xảy ra.

Để khắc phục lỗi Error Establishing a Database Connection, bạn có thể kiểm tra các nguyên nhân trên và thực hiện các điều chỉnh cần thiết. Nếu vẫn gặp khó khăn, bạn có thể tham khảo tài liệu hướng dẫn dưới đây hoặc tìm sự hỗ trợ từ cộng đồng qua các diễn đàn chuyên môn.

Hướng dẫn cách fix lỗi “Error Establishing a Database Connection”

Khi thông báo “error establishing a database connection” xuất hiện trên website, điều đầu tiên bạn nên làm là đăng nhập vào hệ thống cơ sở dữ liệu của mình. Sau khi đã truy cập thành công, bạn mới có thể tiến hành các bước kiểm tra và khắc phục lỗi tiếp theo.

Tùy theo nhà cung cấp hosting, bạn có thể được cấp quyền quản lý qua DirectAdmin, cPanel hoặc trong một số trường hợp, không có giao diện quản lý trực quan nào cả.

Cách 1: Kiểm tra thông tin kết nối trong tệp wp-config.php

Sau khi đã đăng nhập vào cPanel, hãy đi đến mục Domains và chọn website đang gặp lỗi.

Tiếp theo, bạn truy cập vào file wp-config.php và nhấn Edit để mở nội dung bên trong.

Tại đây, bạn cần kiểm tra kỹ các dòng thông tin cấu hình như sau:

// ** 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 trên đóng vai trò then chốt trong việc giúp WordPress kết nối với cơ sở dữ liệu.

Vì vậy, bạn cần chắc chắn rằng tất cả giá trị trong các dòng lệnh này hoàn toàn chính xác.

Hãy mở phần MySQL Database để đối chiếu các thông tin:

  • Database_name
  • Username
  • Password

Nếu phát hiện bất kỳ chi tiết nào không trùng khớp với trong file wp-config.php, bạn cần chỉnh sửa lại cho đúng ngay lập tức.

XEM THÊM:  Top 11 Plugin Popup WordPress tăng tỷ lệ chuyển đổi mới nhất

Lưu ý về thông số DB_HOST trong hosting:

Thông số DB_HOST sẽ thay đổi tùy theo gói hosting bạn đang sử dụng.

  • Nếu bạn dùng Shared Hosting, giá trị mặc định thường là ‘localhost’.
  • Với các loại hosting khác (như VPS hay Cloud), tên DB_HOST có thể khác, vì vậy bạn nên kiểm tra thông tin này trong phần quản lý hosting hoặc liên hệ nhà cung cấp để xác nhận chính xác.

Tóm lại, việc kiểm tra đúng cấu hình trong file wp-config.php là bước quan trọng đầu tiên giúp bạn sửa lỗi “Error establishing a database connection” nhanh chóng và hiệu quả.

Cách 2: Kiểm tra quyền truy cập của người dùng và cơ sở dữ liệu

Nếu bạn đã xác minh rằng thông tin kết nối giữa MySQL Database và tệp wp-config.php là chính xác, nhưng vẫn gặp lỗi, có thể vấn đề nằm ở quyền truy cập của người dùng MySQL. Trong trường hợp này, bạn cần kiểm tra xem người dùng có đủ quyền để thao tác với cơ sở dữ liệu hay không.

Để đảm bảo người dùng được cấu hình trong tệp wp-config.php có đủ quyền truy cập cơ sở dữ liệu, bạn cần thực hiện các bước sau trong cPanel:

Trong hướng dẫn này InterData sẽ thực hiện mẫu trên giao diện cPanel của InterData, giao diện các nhà cung cấp khác cũng tương tự.

Bước 1: Đăng nhập vào cPanel và truy cập vào phần Database của MySQL để kiểm tra quyền truy cập của người dùng cơ sở dữ liệu.

Truy cập vào phần Database của MySQL 
Truy cập vào phần Database của MySQL

Bước 2: Bạn kiểm tra quyền của người dùng để đảm bảo họ có quyền đầy đủ với cơ sở dữ liệu của bạn.

Kiểm tra quyền của người dùng
Kiểm tra quyền của người dùng

Bước 3: Trong trang quản lý MySQL, bạn tìm phần Add User to Database để xem người dùng có quyền truy cập đầy đủ hay không.

Xem người dùng có quyền truy cập đầy đủ hay không
Xem người dùng có quyền truy cập đầy đủ hay không

Bước 4: Đảm bảo bạn đã chọn tất cả các quyền cần thiết và nhấn Make Changes để lưu.

Nhấn Make Changes để lưu
Nhấn Make Changes để lưu

Cách 3: Kiểm tra giá trị prefix trong tệp wp-config.php

Một lý do khác có thể gây ra lỗi kết nối là giá trị table prefix trong tệp wp-config.php không khớp với giá trị trong cơ sở dữ liệu. Ví dụ, nếu trong tệp cấu hình bạn đặt:

$table_prefix = ‘wp_’;

thì trong cơ sở dữ liệu của bạn cũng phải sử dụng cùng một prefix, chẳng hạn wp_. Nếu bạn đặt giá trị là wp0l_, thì trong cơ sở dữ liệu cũng cần phải khớp với wp0l_.

Lưu ý rằng bạn có thể tùy ý thay đổi prefix, nhưng nó phải đồng nhất giữa tệp cấu hình và cơ sở dữ liệu để tránh lỗi.

Kiểm tra giá trị table prefix value
Kiểm tra giá trị table prefix value

Cách 4: Kiểm tra các extension MySQL và MySQLi có được bật trong PHP hay không

Để đảm bảo MySQL hoạt động bình thường, bạn cần kiểm tra xem các extension MySQL và MySQLi trong PHP đã được bật hay chưa. Nếu bạn đang sử dụng hosting với CloudLinux, bạn sẽ có công cụ PHP Selector, cho phép bật hoặc tắt các extension của PHP. Hãy chắc chắn rằng extension MySQL đã được kích hoạt.

XEM THÊM:  Open Source là gì? Ưu - Nhược điểm & Ứng dụng của mã nguồn mở
Kiểm tra các extension MySQL và MySQLi có được bật trong PHP hay không
Kiểm tra các extension MySQL và MySQLi có được bật trong PHP hay không

Đối với PHP 5, bạn cần kiểm tra xem các extension MySQL và MySQLi đã được bật.

Kiểm tra xem các extension MySQL và MySQLi đã được bật
Kiểm tra xem các extension MySQL và MySQLi đã được bật
Kiểm tra các extension MySQL và MySQLi đã được bật
Kiểm tra các extension MySQL và MySQLi đã được bật

Với PHP 7.x, bạn cũng cần đảm bảo rằng các extension này được kích hoạt.

Đảm bảo rằng các extension này được kích hoạt
Đảm bảo rằng các extension này được kích hoạt
Kiểm tra các extension này được kích hoạt chưa
Kiểm tra các extension này được kích hoạt chưa

Cách 5. Thử sửa chữa cơ sở dữ liệu WordPress

WordPress tích hợp sẵn một tính năng tự động sửa lỗi cơ sở dữ liệu, giúp bạn khắc phục nhanh tình trạng “Error Establishing a Database Connection” mà không cần can thiệp sâu vào mã nguồn.

Để bật tính năng này, trước tiên hãy truy cập vào file wp-config.php trong thư mục gốc cài đặt WordPress của bạn.

define(‘WP_ALLOW_REPAIR’, true);

Sau khi thêm đoạn mã cần thiết, lưu lại thay đổi rồi đóng tệp wp-config.php. Tiếp theo, hãy truy cập vào trang quản trị WordPress để bắt đầu quá trình sửa lỗi.

Tại đây, bạn sẽ thấy hai lựa chọn:

  • Repair Database
  • Repair And Optimize Database

Hãy chọn tùy chọn phù hợp với nhu cầu của bạn, sau đó nhấn Repair Database để khởi động quá trình sửa chữa.

Khi quá trình hoàn tất, đừng quên kiểm tra lại website để xem lỗi “Error Establishing a Database Connection” đã được khắc phục hay chưa.

Cách 6: Tạo mới database

Để tạo một cơ sở dữ liệu mới cho WordPress, bạn hãy thực hiện lần lượt các bước dưới đây:

Bước 1: Đăng nhập vào trình quản trị cơ sở dữ liệu mà bạn đang sử dụng.

Bước 2: Trong giao diện quản trị, tìm tùy chọn tạo cơ sở dữ liệu mới.
Tại đây, bạn cần điền các thông tin cơ bản như tên cơ sở dữ liệu và điều chỉnh một số thiết lập bổ sung nếu cần thiết.

Bước 3: Sau khi tạo xong cơ sở dữ liệu, tiếp tục tạo một tài khoản người dùng mới, sau đó cấp quyền truy cập cho tài khoản này vào cơ sở dữ liệu vừa tạo.

Bước 4: Hãy ghi chú lại toàn bộ thông tin của cơ sở dữ liệu mới, bao gồm:

  • Tên cơ sở dữ liệu
  • Tên người dùng
  • Mật khẩu

Bước 5: Mở file wp-config.php nằm trong thư mục gốc cài đặt WordPress.
Thay thế thông tin cũ bằng thông tin cơ sở dữ liệu mới ở các biến tương ứng:

  • DB_NAME
  • DB_USER
  • DB_PASSWORD

Bước 6: Cuối cùng, truy cập lại trang web WordPress của bạn.

Nếu các thông tin được nhập chính xác, website sẽ hoạt động bình thườngkhông còn xuất hiện thông báo “Error establishing a database connection” nữa.

Cách 7: Vô hiệu hóa plugin WordPress khi gặp lỗi

Một trong những nguyên nhân phổ biến khiến WordPress báo lỗi “Error Establishing a Database Connection” là do xung đột giữa các plugin. Vì vậy, việc vô hiệu hóa plugin là bước cần thiết để xác định và xử lý vấn đề.

Cách tắt plugin trong trang quản trị WordPress

  • Đầu tiên, hãy đăng nhập vào trang quản trị WordPress của bạn.
  • Tại menu bên trái, chọn Plugins → Installed Plugins.
  • Tại đây, bạn sẽ thấy danh sách toàn bộ plugin đã cài đặt trên website.
  • Tiếp theo, tìm và đổi tên các plugin bạn muốn tạm thời vô hiệu hóa, chẳng hạn đổi tên thành plugin-disabled.

Sau khi hoàn tất, hãy truy cập lại website để kiểm tra xem lỗi đã biến mất hay chưa và đảm bảo trang vẫn hoạt động bình thường.

Cách vô hiệu hóa toàn bộ plugin khi không thể truy cập WordPress

Nếu bạn không thể đăng nhập vào trang quản trị để tắt plugin, có thể thực hiện trực tiếp qua FTP hoặc File Manager trên hosting.

Hãy truy cập vào thư mục wp-content trên máy chủ, sau đó đổi tên thư mục “plugins” thành bất kỳ tên nào khác, ví dụ “plugins-disabled”. Thao tác này sẽ khiến toàn bộ plugin trên website tạm thời ngừng hoạt động.

Cuối cùng, kiểm tra lại website để xem lỗi “Error Establishing a Database Connection” đã được khắc phục hay chưa.

Hãy luôn nhớ sao lưu dữ liệu định kỳ và kiểm tra các yếu tố trên để tránh gặp phải các sự cố tương tự trong tương lai.