Kiểm tra xử lý khi website gặp lỗi kết nối cơ sở dữ liệu

1. Mục đích:
Bài viết này sẽ hướng dẫn kiểm tra và xử lý khi website của quý khách bị lỗi kết nối cơ sở dữ liệu. Thông thường ta gặp phải lỗi trên khi upload mã nguồn website lên hosting hay lúc thực hiện chuyển dữ liệu website.
2. Dấu hiệu nhận biết lỗi kết nối cơ sở dữ liệu:
Dấu hiệu chung để nhận biết lỗi kết nối cơ sở dữ liệu là khi quý khách truy cập vào website sẽ gặp các thông báo dạng như:
 
- Error establishing a database connection
- Database connection error (2): Could not connect to MySQL
- Database error
 
Tùy thuộc vào từng mã nguồn mà thông báo này sẽ khác nhau. Hình ảnh dưới đây là thông báo lỗi kết nối cơ sở dữ liệu khi truy cập vào website mã nguồn WordPress.
 
3. Những nguyên nhân và cách kiểm tra xử lý:
Một số nguyên nhân gây ra lỗi trên là do quý khách cấu hình các thông số kết nối cơ sở dữ liệu cho website chưa đúng, dịch vụ mysql trên server tạm thời bị lỗi hay database hiện tại có vấn đề. Sau đây là các nguyên nhân và cách kiểm tra xử lý:

a. DỊCH VỤ MYSQL BỊ LỖI
Đây chính là nguyên nhân đầu tiên dẫn tới website của quý khách không thể kết nối cơ sở dữ liệu. Để kiểm tra dịch vụ mysql có đang hoạt động bình thường trên server hay không quý khách có thể thao tác như sau:
 
Đối với dịch vụ share hosting:
Để kiểm tra dịch vụ mysql trên server share hosting quý khách có thể truy cập vào phpMyAdmin để kiểm tra: 
- Truy cập vào trung tâm tài khoản khách hàng tại link: https://secure.vinahost.vn/ac/index.php -> Control Panel -> tên gói dịch vụ share hosting của khách hàng
- Sau khi vào Cpanel khách hàng chọn Database Management -> phpMyAdmin để truy cập vào giao diện quản lý của phpMyAdmin
Nếu truy cập vào phpMyAdmin mà quý khách vẫn có thể thực hiện các thao tác bình thường thì chứng tỏ dịch vụ mysql trên server đang hoạt động bình thường.

Đối với dịch vụ VPS/Server:
Để kiểm tra dịch vụ mysql trên server quý khách cần chắc chắn đã cài dịch vụ mysql trên server của mình. Quý khách có thể truy cập vào phpMyAdmin như trên share hosting để kiểm tra hoạt động của mysql. Hoặc quý khách có thể chạy các lệnh sau để kiểm tra hoạt động của mysql.
 
Ubuntu:
# /etc/init.d/mysql status
 
RedHat hay Fedora:
# service mysqld status
 
Nếu dịch vụ mysql trên server của quý khách bị lỗi hay stop quý khách cần start dịch vụ mysql lên và truy cập lại vào website để kiểm tra
 
b. THÔNG TIN KẾT NỐI DATABASE CHƯA CHÍNH XÁC
 
Hầu hết nguyên nhân website không thể kết nối cơ sở dữ liệu là do quý khách cấu hình các tham số trong file cấu hình chưa chính xác hoặc trong lúc chuyển dữ liệu quý khách chưa cấu hình lại các tham số này. Để kiểm tra quý khách mở file cấu hình cơ sở dữ liệu của website lên và kiểm tra các thông số sau:
- Database Name: tên cơ sở dữ liệu mà website của quý khách kết nối vào
- Database Username: tên username dùng để kết nối vào cơ sở dữ liệu của website
Database Password: mật khẩu của user
- Database Host : hostname của database server, giá trị này thường là localhost hoặc 127.0.0.1
 
Tùy vào từng mã nguồn mà file cấu hình cơ sở dữ liệu sẽ khác nhau. Sau đây là các dòng khai báo các thông số kết nối cơ sở dữ liệu của mã nguồn WordPress:
 
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');
 
/** MySQL database username */
define('DB_USER', 'username_here');
 
/** MySQL database password */
define('DB_PASSWORD', 'password_here');
 
/** MySQL hostname */
define('DB_HOST', 'localhost');
 
Quý khách cần kiểm tra để chắc chắn các tham số trên đã hoàn toàn chính xác. Ngoài ra quý khách cũng cần lưu ý là đã gán quyền cho user này tương ứng với databases cần kết nối. Sau khi chắc chắn các tham số trên hoàn toàn chính xác thì quý khách hãy xóa cache trình duyệt và truy cập lại vào website để kiểm tra
 
c. DATABASE TABLE CRASH
Khi một table trong database của khách hàng bị crash sẽ dẫn tới việc website của khách hàng không thể kết nối cơ sở dữ liệu. Quý khách có thể kiểm tra các table trên database có bị crash hay không bằng cách thao tác như sau:
 
Đối với dịch vụ share hosting:
- Truy cập vào trung tâm tài khoản khách hàng tại link: https://secure.vinahost.vn/ac/index.php -> Control Panel -> tên gói dịch vụ share hosting của khách hàng
- Sau khi vào Cpanel khách hàng chọn Database Management -> MySQL Databases -> Modify Databases
- Chọn database cần kiểm tra sau đó click "Check DB". Nếu table bị crash quý khách chọn database bị crash và click vào "Repair DB" để repair lại database này

 
Đối với dịch vụ VPS/Server:
Quý khách có thể thao tác như trên gói dịch vụ share hosting nếu trên server của khách hàng có cài Cpanel. Ngoài ra khách hàng có thể chạy lệnh mysqlcheck để kiểm tra database:
 
# mysqlcheck -c database_name  -u root -p
 
Nếu table bị crash quý khách chạy lệnh sau để repair database:
 
# mysqlcheck -r database_name -u root -p
 
Quý khách lưu ý thay thế "database_name" bằng tên của database mà quý khách cần kiểm tra. Sau khi repair quý khách hãy xóa cache trình duyệt và truy cập lại vào website để kiểm tra
 
*Quý khách lưu ý tất cả các lệnh trên được chạy trên hệ điều hành Linux và database server là MYSQL
Tham Khảo:
http://codex.wordpress.org/Editing_wp-config.php

Powered by WHMCompleteSolution