Thay đổi bảng và index liên quan đến cách MySQL xử lý kiểu dữ liệu và character set. Các sửa chữa hoặc nâng cấp bảng cần thiết được báo cáo bởi CHECK TABLE, mysqlcheck, hoặc mysql_upgrade.
Rebuild một Table
Nhiều phương pháp rebuild table. Một số phương pháp:
- Phương pháp Dump và Reload
- Phương pháp ALTER TABLE
- Phương pháp REPAIR TABLE
Phương pháp Dump và Reload
Nếu rebuild table do các phiên bản MySQL khác nhau không xử lý được bảng sau nâng cấp binary (in-place) hoặc tải xuống, dùng phương pháp dump và reload.
Rebuild table bằng cách dump và reload. Dùng mysqldump tạo file dump và cho mysql reload file:
mysqldump db_name t1 > dump.sql mysql db_name < dump.sql
Nếu rebuild tất cả table trong một database, chỉ định tên database không dùng tên table:
mysqldump db_name > dump.sql mysql db_name < dump.sql
Nếu rebuild tất cả table trong tất cả database, dùng tùy chọn --all-databases:
mysqldump --all-databases > dump.sql mysql < dump.sql
Phương pháp ALTER TABLE
Nếu rebuild table dùng ALTER TABLE, có thể dùng "null" alteration. Dùng câu lệnh ALTER TABLE thay đổi table để dùng storage engine. Ví dụ: TblName là bảng InnoDB, câu lệnh dưới rebuild table:
ALTER TABLE TblName ENGINE = InnoDB;
Phương pháp REPAIR TABLE
Phương pháp REPAIR TABLE chỉ áp dụng cho bảng MyISAM, ARCHIVE, CSV. Câu lệnh REPAIR TABLE dùng nếu kiểm tra table gợi ý file bị corrupt hoặc cần nâng cấp. Ví dụ: sửa bảng MyISAM:
REPAIR TABLE TblName;
mysqlcheck --repair cung cấp truy cập command-line cho câu lệnh REPAIR TABLE. Tiện lợi hơn vì có thể dùng --databases sửa table cụ thể trong database hoặc --all-databases sửa tất cả table trong mọi database:
mysqlcheck --repair --databases db_name ... mysqlcheck --repair --all-databases