Phương pháp tải dữ liệu sao lưu trong MariaDB
Trong bài này sẽ hướng dẫn bạn các phương pháp tải lại dữ liệu từ bản sao lưu. Quá trình khôi phục cơ sở dữ liệu từ bản sao lưu có thể đơn giản, nhưng đôi khi cũng khá mất thời gian, tùy thuộc vào dung lượng dữ liệu và phương pháp sử dụng.
Có ba phương pháp chính để tải dữ liệu trong MariaDB: lệnh LOAD DATA, công cụ mysqlimport, và khôi phục từ bản sao lưu được tạo bởi mysqldump.
Sử dụng lệnh LOAD DATA trong MariaDB
Lệnh LOAD DATA hoạt động như một công cụ nạp dữ liệu hàng loạt, cho phép tải dữ liệu từ tệp văn bản vào bảng trong cơ sở dữ liệu.
Ví dụ cơ bản:
LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl;
Lưu ý:
Bài viết này được đăng tại [free tuts .net]
Sử dụng từ khóa LOCAL để tránh MariaDB tìm kiếm tập tin sâu trong hệ thống mà chỉ giới hạn tìm tập tin tại đường dẫn đã chỉ định.
Tập tin dữ liệu mặc định sử dụng định dạng:
- Mỗi dòng kết thúc bằng ký tự xuống dòng (
\n
). - Các giá trị trong dòng được ngăn cách bằng dấu tab (
\t
).
Định dạng cụ thể:
Bạn có thể chỉ định cách phân tách dữ liệu bằng các mệnh đề FIELDS và LINES. Ví dụ:
LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n';
Tải dữ liệu theo thứ tự cột tùy chỉnh:
Nếu thứ tự cột trong tập tin khác với thứ tự cột trong bảng, bạn có thể xác định cụ thể thứ tự này:
LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl (c, b, a);
Sử dụng công cụ MYSQLIMPORT trong MariaDB
Công cụ mysqlimport là một "trình bao bọc" của lệnh LOAD DATA, cho phép thực thi các thao tác tương tự thông qua dòng lệnh.
Ví dụ cơ bản:
mysqlimport -u root -p --local database_name source_file.txt
Cụ thể hóa định dạng:
Bạn có thể chỉ định cách định dạng dữ liệu trong tập tin với các tuỳ chọn sau:
mysqlimport -u root -p --local --fields-terminated-by="|" \ --lines-terminated-by="\n" database_name source_file.txt
Sắp xếp thứ tự cột:
Nếu cần chỉ định thứ tự cột khác với mặc định:
mysqlimport -u root -p --local --columns=c,b,a \ database_name source_file.txt