• Webmaster Tools
  • Diễn Đàn Hỏi Đáp
  • Profile
  • Ủng hộ
  • DNS Check
  • CheckIP
  • Liên Hệ
Đỗ Trung Quân
  • HƯỚNG DẪN
  • LINUX
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
    • Virtualization
    • Monitoring Tool
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Jenkins
      • AWS
    • Mail Server
    • VPN
  • CONTROL PANEL
    • cPanel
    • DirectAdmin
    • aaPanel
    • FastPanel
    • CyberPanel
    • Easypanel
    • VestaCP
    • CloudPanel
    • HestiaCP
    • Plesk
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • SECURITY
    • SSL
    • Firewall
  • DỊCH VỤHOT
  • WEB MẪUHOT

Hướng Dẫn Phục Hồi Database Từ file .frm & .ibd

by ĐỖ TRUNG QUÂN 19/02/2025
Tác giả: ĐỖ TRUNG QUÂN 19/02/2025 0 comments 119 lượt xem
Dịch vụ xử lý mã độc WordPress
WEB MẪU WORDPRESS
Share FacebookTwitterPinterestTelegramEmail
119

NỘI DUNG

  • 1. Giới Thiệu
  • 2. Các Bước Phục Hồi
    • Bước 1: Cài Đặt Công Cụ dbsake
    • Bước 2: Phục Hồi Cấu Trúc Bảng Từ File .frm
    • Bước 3: Khôi Phục Dữ Liệu Từ .ibd
      • 1. Ngắt liên kết tablespace của bảng
      • 2. Copy file.ibdvào thư mục dữ liệu MySQL:
      • 3. Nhập lại tablespace vào MySQL:
    • Bước 4. Kiểm tra dữ liệu
  • 3. Lưu ý quan trọng

Trong quá trình vận hành MySQL/MariaDB, đôi khi bạn có thể gặp phải tình huống mất dữ liệu hoặc chỉ còn lại các tệp .frm và .ibd mà không có bản sao lưu đầy đủ của database. Điều này có thể xảy ra do lỗi hệ thống, mất tập tin InnoDB tablespace, hoặc di chuyển dữ liệu không đúng cách.

Vậy làm thế nào để khôi phục lại database từ các tệp này? Bài viết này sẽ hướng dẫn bạn từng bước phục hồi cấu trúc bảng từ tệp .frm, nhập lại dữ liệu từ tệp .ibd, và liên kết tablespace để bảng có thể hoạt động trở lại. Với hướng dẫn chi tiết này, bạn có thể khôi phục dữ liệu một cách an toàn và hiệu quả, ngay cả khi không có bản backup đầy đủ.

1. Giới Thiệu

Trong MySQL/MariaDB, các tệp .frm và .ibd đóng vai trò quan trọng trong việc lưu trữ dữ liệu của bảng:

  • .frm(Format File):Chứa định nghĩa và cấu trúc của bảng, bao gồm tên cột, kiểu dữ liệu, khóa chính, khóa ngoại và các ràng buộc khác.
  • .ibd(InnoDB Datafile):Chứa dữ liệu thực tế của bảng và các chỉ mục liên quan khi sử dụng InnoDB.

Khi MySQL bị lỗi hoặc mất thông tin schema, bạn có thể cần khôi phục dữ liệu từ các file .frm và .ibd bằng các bước dưới đây.

Hướng Dẫn Phục Hồi Database Từ file .frm & .ibd

2. Các Bước Phục Hồi

Bước 1: Cài Đặt Công Cụ dbsake

Đây là một công cụ giúp trích xuất schema từ file .frm mà không cần chạy MySQL.

curl -s http://get.dbsake.net > dbsake
chmod u+x dbsake

Hướng Dẫn Phục Hồi Database Từ file .frm & .ibd

Bước 2: Phục Hồi Cấu Trúc Bảng Từ File .frm

Chạy lệnh sau để lấy cấu trúc bảng:

./dbsake frmdump /đường/dẫn/tới/file.frm

Ví dụ thực tế:

./dbsake frmdump /root/recomysql/caisslcom_dbcaissl/wp_options.frm

Đầu ra sẽ chứa lệnhCREATE TABLE, giúp bạn tái tạo bảng trên database mới:

CREATE TABLE `wp_options` (
  `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `option_name` varchar(191) NOT NULL DEFAULT '',
  `option_value` longtext NOT NULL,
  `autoload` varchar(20) NOT NULL DEFAULT 'yes',
  PRIMARY KEY (`option_id`),
  UNIQUE KEY `option_name` (`option_name`),
  KEY `autoload` (`autoload`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Tạo database mới:

CREATE DATABASE admin_caisslnew;
CREATE USER 'admin_caisslnew'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON admin_caisslnew.* TO 'admin_caisslnew'@'localhost';
FLUSH PRIVILEGES;

Nhập schema vào database mới:

for tbl in /root/recomysql/caisslcom_dbcaissl/*.frm; do
    ./dbsake frmdump "$tbl" | mysql -u admin_caisslnew -p'password' admin_caisslnew
done

Kiểm tra bảng đã được tạo hay chưa:

SHOW TABLES FROM admin_caisslnew;

Hướng Dẫn Phục Hồi Database Từ file .frm & .ibd

Bước 3: Khôi Phục Dữ Liệu Từ .ibd

1. Ngắt liên kết tablespace của bảng

ALTER TABLE wp_options DISCARD TABLESPACE;

Hướng Dẫn Phục Hồi Database Từ file .frm & .ibd

2. Copy file.ibdvào thư mục dữ liệu MySQL:

cp /root/recomysql/caisslcom_dbcaissl/wp_options.ibd /var/lib/mysql/admin_caisslnew/wp_options.ibd
chown mysql:mysql /var/lib/mysql/admin_caisslnew/wp_options.ibd

3. Nhập lại tablespace vào MySQL:

ALTER TABLE wp_options IMPORT TABLESPACE;

Bước 4. Kiểm tra dữ liệu

Sau khi hoàn tất, bạn có thể chạy lệnh sau để kiểm tra dữ liệu. Hoặc truy cập vào phpMyAdmin để kiểm tra chi tiết giao diện trực quan.

SELECT * FROM wp_options LIMIT 10;

Hướng Dẫn Phục Hồi Database Từ file .frm & .ibd

3. Lưu ý quan trọng

Nếu database cũ sử dụng innodb_file_per_table=OFF, việc khôi phục .ibd sẽ khó khăn hơn.

Nếu gặp lỗi ERROR 1030 (HY000): Got error -1 from storage engine, kiểm tra quyền sở hữu file .ibd.

Sao lưu dữ liệu trước khi thực hiện các thao tác trên.

Bằng cách làm theo hướng dẫn này, bạn có thể khôi phục dữ liệu quan trọng trong trường hợp mất schema MySQL.

Chúc bạn thành công!

  • Percona Blog – Recovering Table Structure
  • GitHub dbsake
  • StackOverflow – Recreate.frmFile
  • Gist – InnoDB Recovery
5/5 - (1 bình chọn)
.frm.ibddatabase

Tham gia nhóm hỗ trợ WordPress

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay
ĐỖ TRUNG QUÂN

Mình tên là Đỗ Trung Quân, hiện đang công tác tại AZDIGI với vị trí là SysAdmin. Mình đam mê viết Blog. Vì viết Blog giúp mình trau dồi được nhiều kỹ năng. Học hỏi thêm nhiều kiến thức mới, từ đó mình có thể chia sẻ đến các bạn các bài viết tài liệu bổ ích hơn. Hiện tại mình là admin của Blog DOTRUNGQUAN.INFO - CaiSSL.COM - QuantriVPS.COM. Mới đây mình có tạo ra nhóm Hỗ trợ Server - Hosting & WordPress | Hỗ Trợ Xử Lý Mã Độc WordPress với mục đích gây dựng một cộng đồng nhỏ để mọi người trao đổi kinh nghiệm, kiến thức quản trị VPS. Các thủ thuật, mẹo vặt khi sử dụng VPS. Rất mong nhận được sự ủng hộ của các bạn.

BÀI VIẾT LIÊN QUAN

Hướng dẫn dọn dẹp database WordPress

11/04/2025

Kiểm tra và sửa lỗi Error establishing a...

14/12/2023

Sửa lỗi Database Upgrade Required trên WordPress

09/08/2023

Hướng dẫn sửa lỗi Database mất khoá chính...

14/03/2023
Author Box
Author Image

ĐỖ TRUNG QUÂN

Chuyên viên quản trị hệ thống.

Tư vấn & triển khai dịch vụ

VPS | Hosting | SSL | Mailserver | Website | Sửa lỗi WordPress

Bài viết của tác giả

Hosting/VPS khuyên dùng

Phổ Biến

  • Hướng dẫn tạo SSH Key trên macOS

  • Hướng dẫn sử dụng SSH Key

  • Hướng dẫn cài đặt v2board trên AAPANEL

  • Vấn đề IP Public liên tục bị thay đổi vì sao và cách khắc phục

  • Khắc phục lỗi không hiện hình ảnh và mô tả khi share link lên Facebook

  • Hướng dẫn kích hoạt Theme Flatsome mới nhất.

BẠN BÈ & ĐỐI TÁC

Thạch Phạm | CỔ Ý CONCEPT | Trương Quốc Cường | Đàm Trung Kiên | Web An Tâm | Phong Đinh | Học Mò | PHUNG.VN | Đăng Đạt

Bạn được quyền sao chép lại nội dung trên website Đỗ Trung Quân, miễn là có dẫn nguồn.

Hosting/VPS được tài trợ bởi AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay

AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay


Back To Top
Đỗ Trung Quân
  • HƯỚNG DẪN
  • LINUX
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
    • Virtualization
    • Monitoring Tool
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Jenkins
      • AWS
    • Mail Server
    • VPN
  • CONTROL PANEL
    • cPanel
    • DirectAdmin
    • aaPanel
    • FastPanel
    • CyberPanel
    • Easypanel
    • VestaCP
    • CloudPanel
    • HestiaCP
    • Plesk
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • SECURITY
    • SSL
    • Firewall
  • DỊCH VỤHOT
  • WEB MẪUHOT