June 26, 2015

Hướng dẫn nhận biết và xử lý khi cơ sở dữ liệu bị lỗi corrupted/crashed cần repair

1. Mục đích và nguyên nhân:
Bài viết này sẽ hướng dẫn quý khách hàng cách nhận biết và xử lý lỗi database bị corrupt hay crash
Thường thì do một số nguyên nhân nào đó,  ví dụ như HDD server đầyHDD bị BAD hay thiếu bộ nhớ RAM cho các tiến trình mysql hoạt động,..là những nguyên nhân chủ yếu dẫn đến lỗi trên. Hoặc do một số lỗi phát sinh làm cho server bị treophải reboot và sau khi reboot thì có thể một số table của các database bị crash
2. Một số dấu hiệu nhận biết:Một số dấu hiệu để chắc chắn rằng database đã bị crash thường có dạng như:
Database error: [Table 'table_name' is marked as crashed and should be repaired]
Hoặc
[ERROR] /usr/sbin/mysqld: Table './wordpress/table_name' is marked as crashed and should be repaired
Và đôi khi những lỗi dưới đây nếu xuất hiện thì cũng có khả năng đã xảy ra lỗi do database đã bị crash:
“Error establishing a database connection”
Hoặc
"ERROR! mysql server PID file could not be found"3. Cách xử lý:
Để xử lý lỗi trên quý khách cần kiểm tra lại các table nào của database bị crash bằng các cách sau:
a. Đố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 Quản lý cơ sở dữ liệu -> Danh sách cơ sở dữ liệu MYSQL 
Tại mục 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.
Quý khách cũng có thể repair từng table bằng cách sau:
- Sau khi vào Cpanel khách hàng chọn Quản lý cơ sở dữ liệu ->Chọn phpMyAdmin -> chọn database (bên phải) -> chọn table -> Chọn tiếp Operations. Khi đó quý khách sẽ thấy Check table và Repair table.
b. Đối với dịch vụ VPS/Server:
Quý khách có thể thao tác tương tự như gói dịch vụ share hosting nếu trên server của khách hàng có Cpanel License. Nếu không quý khách hàng có thể chạy lệnh sau để kiểm tra database:
 - Check toàn bộ các table của database:
       # mysqlcheck -c database_name  -u root –p
 - Check từng table trong database
       # mysqlcheck -c database_name  table_name  -u root –p
 - Check tất cả các database có trong hệ thống
       # mysqlcheck -c  -u root -p --all-databases 
Nếu table bị crash quý khách chạy lệnh sau để repair database:
   # mysqlcheck -r  database_name  table_name  -u root –p
Thay vì chạy lệnh cho từng database quý khách có thể sử dụng lệnh sau để kết hợp việc check và repair bằng cách thêm vào “--auto-repair”
   # mysqlcheck -u root -p --auto-repair -c  database_name

Sau khi thực hiện các lệnh trên quý khách vui lòng restart 
lại dịch vụ mysql bằng lệnh:
   # service mysqld restart

Related Posts:

  • LÀM THẾ NÀO ĐỂ KHÔI PHỤC MYSQL ROOT PASSWORD TRÊN SERVER WINDOWS Đầu tiên các bạn đều phải stop Mysql service ( Administrative Tools >>> Services ) PHƯƠNG PHÁP 1 (SKIP GRANT TABLES) Mở Command Prompt (cmd) và tìm đến thư mục bin nơi cài đặt MySQL V… Read More
  • MySQL Table says IN USE, but table will not repair in phpmyadmin. From time to time mysql corrupts itself.  This can normally be fixed using the KB Article here: http://billing.handsonwebhosting.com/knowledgebase.php?action=displayarticle&id=194 Under some situations h… Read More
  • Các câu lệnh MySQL cần phải biết Khi chạy các lệnh này, bạn cần login vào MySQL với tài khoản root (MySQL root chứ không phải tài khoản root quản lý VPS) hoặc tài khoản có full quyền. Tất cả các thao tác mình thực hiện trên VPS CentOS Đăng nhập MySQL … Read More
  • phục hồi mysql replication break Giới thiệu Khi mysql replication bị hỏng thì có rất nhiều cách để xử lý nhưng có một cách tốt hơn cả là có thể bê nguyên toàn bộ data của master về slave ngay lập tức và tái lập replication bắt đầu tại thời điểm chuyển toàn… Read More
  • Một số lệnh quản lý mysql bạn nên biết1. Đổi mật khẩu user root Khi mới cài đặt MySQL, user root với quyền tối cao sẽ được tạo ra với mật khẩu bằng trống (không có mật khẩu. Do vậy việc đầu tiên chúng ta nên làm sẽ là đổi mật khẩu cho user này để đảm bảo an toàn… Read More

0 comments:

Post a Comment