Bài viết này sẽ phân tích cho bạn làm thế nào để sao lưu và khôi phục cơ sở dữ liệu với Mysql hay MariaDB từ dòng lệnh mysqldump Show
Tệp sao lưu được tạo bởi mysqldump về cơ bản là 1 tệp lệnh mysql có thể được sử dụng để tạo lại bản gốc của cơ sở dữ liệu được sao lưu. Mysqldump cũng có thể tạo các tệp ở định dạng CSV và XML Bạn cũng có thể sử dụng mysqldump để chuyển cơ sở dữ liệu Mysql của bạn sang một máy chủ Mysql khác Nếu bạn không sao lưu cơ sở dữ liệu của mình, lỗi phần mềm hoặc lỗi ổ cứng có thể là thảm họa làm hỏng toàn bộ cơ sở dữ liệu và không thể khôi phục chúng được. Để giúp bạn tiết kiệm nhiều thời gian, tôi khuyên bạn nên thường xuyên sao lưu cơ sở dữ liệu của mình I. Cú pháp mysqldumpTrước khi vào cách sử dụng mysqldump, hãy bắt đầu bằng cách xem lại cú pháp cơ bản Các biểu thức của mysqldump có dạng như sau
To use myqldump, must access mysql server II. Sao lưu cơ sở dữ liệu đơn giảnTrường hợp sử dụng biến phổ biến nhất của mysqldump là để sao lưu 1 cơ sở dữ liệu Ví dụ. để tạo ra 1 bản sao lưu của cơ sở dữ liệu có tên là database_name bằng cách sử dụng quyền người dùng là root và lưu tệp của nó có tên là database_name. sql you must run command after
Bạn phải nhập mật khẩu cho người dùng có quyền root tại thông báo. Sau khi xác thực mật khẩu thành công, quá trình sao lưu dữ liệu sẽ bắt đầu. Tùy thuộc vào kích thước cơ sở dữ liệu, quá trình này sẽ mất 1 khoảng thời gian và bạn phải đợi nó chạy xong Nếu bạn đang đăng nhập với 1 người dùng khác, đồng thời có quyền sao lưu mà không cần mật khẩu, bạn có thể bỏ qua tùy chọn -u và -p
III. Sao lưu nhiều cơ sở dữ liệuĐể sao lưu nhiều cơ sở dữ liệu bằng 1 lệnh, bạn cần sử dụng tùy chọn --daatabase và theo sau đó là cơ sở dữ liệu bạn muốn sao lưu. Tên của mỗi cơ sở dữ liệu phân cách nhau bởi dấu cách
Lệnh trên sẽ tạo ra một tệp sao lưu cả cơ sở dữ liệu a và b IV. Sao lưu tất cả các cơ sở dữ liệu trong máy chủSử dụng tùy chọn --all-databases để sao lưu toàn bộ cơ sở dữ liệu của bạn
Giống với ví dụ trước, lệnh trên sẽ tạo ra một bản sao lưu duy nhất chứa tất cả các cơ sở dữ liệu có trong máy chủ của bạn V. Sao lưu tất cả cơ sở dữ liệu vào nhiều tệpmysqldump không cung cấp tùy chọn sao lưu tất cả cơ sở dữ liệu vào nhiều tệp nhưng bạn có thể dễ dàng thực hiện nó bằng cách sử dụng vòng lặp FOR ở trong bash
Lệnh trên sẽ tạo ra các tệp kết xuất khác nhau cho mỗi cơ sở dữ liệu VI. Tạo 1 bản nén sao lưu cơ sở dữ liệuNếu cơ sở dữ liệu kích thước lớn, việc nén lại sẽ là 1 ý tưởng tốt để tạo ra tệp kết xuất. Để làm được điều đó, bạn chỉ cần chuyển đầu ra sang tệp gzip
VII. Tạo bản sao lưu với dấu thời gianNếu bạn muốn giữ nhiều bản sao lưu trong cùng 1 thư mục, bạn có thể thêm ngày hiện tại để phân biệt ngày sao lưu giữa các tệp
Lệnh trên sẽ tạo ra 1 tệp có định dạng như tệp sau. cơ sở dữ liệu_name-20180617. sql VIII. Khôi phục lại cơ sở dữ liệu đã sao lưuBạn có thể khôi phục lại cơ sở dữ liệu bằng cách sử dụng mysql. Cú pháp như sau ________số 8Trong hầu hết các trường hợp, bạn cần phải tạo cơ sở dữ liệu đã tồn tại, thì công việc trước tiên bạn cần xóa chúng Trong ví dụ sau, lệnh đầu tiên sẽ tạo ra một cơ sở dữ liệu có tên là database_name và sau đó sẽ nhập tệp sao lưu database_name. sql to it
IX. Khôi phục lại 1 cơ sở dữ liệu từ 1 tệp sao lưu tất cả cơ sở dữ liệuNếu bạn đã sao lưu tất cả cơ sở dữ liệu của mình bằng tùy chọn --all-databases và bạn muốn khôi phục lại cơ sở dữ liệu duy nhất từ tệp sao lưu, bạn có thể sử dụng tùy chọn --one-database như dưới đây 0X. Xuất hoặc nhập cơ sở dữ liệu bằng 1 dòng lệnhThay vì tạo ra 1 tệp kết xuất và chúng nhập tệp đó vào một cơ sở dữ liệu khác, bạn có thể sử dụng cách sau cho nhanh 1Lệnh trên sẽ dẫn đầu đến máy khách mysql ở máy chủ từ xa và sẽ nhập nó vào cơ sở dữ liệu có tên là remote_database_name. Trước khi chạy câu lệnh, bạn cần đảm bảo rằng cơ sở dữ liệu đã tồn tại ở máy chủ từ xa XI. Sao lưu tự động với cron jobTự động hóa sao lưu cơ sở dữ liệu cũng đơn giản như một công việc định kỳ, lệnh mysqldump sẽ được chạy trong thời gian bạn chỉ định |