Sao lưu và khôi phục cơ sở dữ liệu trong MySQL

Nguyễn Đạt

MySQL cho phép bạn sao lưu và sau đó khôi phục lại cơ sở dữ liệu.

Sao Lưu Cơ Sở Dữ Liệu

Việc sao lưu (hay còn gọi là export hoặc backup) được sử dụng nhờ câu lênh mysqldump, câu lệnh này sẽ chuyển toàn bộ dữ liệu có trong database ra một file. Cú pháp câu lệnh này như sau:

mysqldump -u [username] -p [database] > [filename].sql

Trong đó:

  • username: Là tên người dùng có quyền sao lưu cơ sở dữ liệu
  • database: Là tên cơ sở dữ liệu cần backup
  • filename: Là tên file dùng để lưu dữ liệu được sao lưu
Lưu ý: bạn không nên mật khẩu của user khi chạy câu lệnh trên vì như vậy sẽ có thể khiến những người dùng khác có quyền truy cập vào máy chủ biết được mật khẩu của user này

Ví dụ câu lệnh sau sẽ sao lưu database có tên là testdb ra file testdb.sql:

$ mysqldump -u root -p testdb > testdb.sql

Khôi Phục Cơ Sở Dữ Liệu

Khôi phục dữ liệu hay còn gọi là restore CSDL là việc đưa dữ liệu quay trở về trạng thái tại một thời điểm trước đó. Bạn có thể khôi phục lại cơ sở dữ liệu nếu trước đó bạn đã từng sao lưu cơ sở dữ liệu này. Để khôi phục lại CSDL bạn dùng câu lệnh với cú pháp như sau:

$ mysql -u [username] -p [database] < [filename].sql

Trong đó:

  • username: Tên user có quyền khôi phục lại CSDL
  • database: Tên CSDL sẽ được khôi phục
  • filename: Tên file chứa dữ liệu được sao chép ra trước đây

Ví dụ sau sẽ khôi phục cơ sở dữ liệu testdb sử dụng file testdb.sql được tạo ra từ quá trình backup trước đó:


$ mysql -u root -p testdb < testdb.sql

<div class="alert alert-warning">
Lưu ý: Chúng ta sử dụng dấu > trong câu lệnh backup và < trong câu lệnh restore
</div>

Thêm Phản Hồi