MariaDB - Phương pháp tải dự phòng
Trong chương này, chúng ta sẽ tìm hiểu về các phương pháp tải sao lưu khác nhau. Khôi phục cơ sở dữ liệu từ bản sao lưu là một quá trình đơn giản và đôi khi rất lâu.
Có ba tùy chọn khi tải dữ liệu: câu lệnh LOAD DATA, mysqlimport và khôi phục mysqldump đơn giản.
Sử dụng TẢI DỮ LIỆU
Câu lệnh LOAD DATA hoạt động như một bộ tải hàng loạt. Xem lại một ví dụ về việc sử dụng nó để tải một tệp văn bản -
mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl;
Lưu ý các phẩm chất sau của câu lệnh TẢI DỮ LIỆU:
Sử dụng từ khóa LOCAL để ngăn MariaDB thực hiện tìm kiếm sâu máy chủ và sử dụng một đường dẫn rất cụ thể.
Câu lệnh giả định một định dạng bao gồm các dòng được kết thúc bằng nguồn cấp dữ liệu (dòng mới) và các giá trị dữ liệu được phân tách bằng các tab.
Sử dụng mệnh đề FIELDS để chỉ định rõ ràng định dạng của các trường trên một dòng. Sử dụng mệnh đề LINES để chỉ định kết thúc dòng. Xem lại một ví dụ dưới đây.
mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\n';
Câu lệnh giả định các cột trong tệp dữ liệu sử dụng cùng một thứ tự của bảng. Nếu bạn cần đặt một thứ tự khác, bạn có thể tải tệp như sau:
mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl (c, b, a);
Sử dụng MYSQLIMPORT
Công cụ mysqlimport hoạt động như một trình bao bọc TẢI DỮ LIỆU cho phép các hoạt động tương tự từ dòng lệnh.
Tải dữ liệu như sau:
$ mysqlimport -u root -p --local database_name source_file.txt
Chỉ định định dạng như sau:
$ mysqlimport -u root -p --local --fields-terminated-by="|" \
--lines-terminated-by="\n" database_name source_file.txt
Sử dụng --columns tùy chọn để chỉ định thứ tự cột -
$ mysqlimport -u root -p --local --columns=c,b,a \
database_name source_file.txt
Sử dụng MYSQLDUMP
Khôi phục với mysqldump yêu cầu câu lệnh đơn giản này để tải lại tệp kết xuất vào máy chủ lưu trữ -
shell> mysql database_name < source_file.sql
CÁC NHÂN VẬT VÀ BÁO GIÁ ĐẶC BIỆT
Trong một câu lệnh TẢI DỮ LIỆU, dấu ngoặc kép và các ký tự đặc biệt có thể không được diễn giải chính xác. Câu lệnh giả định các giá trị không được trích dẫn và coi các dấu gạch chéo ngược là các ký tự thoát. Sử dụng mệnh đề FIELDS để chỉ định định dạng. Trỏ đến dấu ngoặc kép có "ENCLOSED BY", điều này gây ra việc loại bỏ dấu ngoặc kép khỏi các giá trị dữ liệu. Thay đổi thoát với "ESCAPED BY."