Sao lưu và khôi phục mySQL Database bằng command trong Linux

Nếu bạn đang lưu trữ bất cứ điều gì trong cơ sở dữ liệu MySQL mà bạn không muốn để mất, nó là rất quan trọng để thực hiện sao lưu thường xuyên của dữ liệu của bạn để bảo vệ nó khỏi bị mất. Hướng dẫn này sẽ chỉ cho bạn hai cách dễ dàng để sao lưu và phục hồi dữ liệu trong cơ sở dữ liệu MySQL của bạn. Bạn cũng có thể sử dụng quá trình này để di chuyển dữ liệu của bạn đến một máy chủ web mới.

SAO LƯU BẰNG DÒNG LỆNH (SỬ DỤNG mysqldump)
Nếu bạn có quyền truy cập Shell hoặc Telnet, bạn có thể thực hiện backup dữ liệu bằng lệnh mysqldump. Lệnh này kết nối đến máy chủ mySQL và thực hiện một file dump. File này chứa toàn bộ dữ liệu của bạn và cho phép bạn tạo lại dữ liệu đó khi cần thiết.
Đây là cấu trúc lệnh
$ mysqldump -u [uname] -p [dbname] > [backupfile.sql]
Trong đó:

[uname]: Username của database
[dbname]: Tên database bạn muốn backup
[backupfile.sql]: Tên file sau khi backup ra

Lưu ý: Sau khi bạn chạy lệnh này, máy chủ sẽ yêu cầu bạn nhập mật khẩu của user database để tiếp hành backup

Ví dụ: Dòng lệnh dưới đây backup database tên là vietidc_tut dưới quyền của user là vietidc_usr. File backup ra được lưu thành tên tut_backup.sql
$ mysqldump -u vietidc_usr -p vietidc_tut > tut_backup.sql

Trong một số trường hợp, nếu database của bạn lớn, nếu bạn để nguyên file SQL sẽ tốn dung lượng, mất thời gian khi chuyển máy chủ. Vì vậy bạn có thể thêm tùy biến vào để máy chủ lưu file backup thành định dạng file nén. Cấu trúc lệnh như sau:
$ mysqldump -u [uname] -p [dbname] | gzip -9 > [backupfile.sql.gz]

KHÔI PHỤC DỮ LIỆU MYSQL
Ở trên ta đã tiến hành sao lưu database mang tên vietidc_tut, giờ chúng ta a sẽ tiến hành khôi phục lại database này.
Các bạn sử dụng lệnh sau:
$ mysql -u [uname] -p [db_to_restore] < [backupfile.sql]
Nếu file backup của bạn là file nén, hãy chạy dòng lệnh sau:
$gunzip < [backupfile.sql.gz] | mysql -u [uname] -p [dbname]
Trường hợp nếu database của bạn đã có sẵn, bạn có thể sử dụng lệnh mysqlimport để nhập dữ liệu vào.
$mysqlimport -u [uname] -p [dbname] [backupfile.sql]

Chúc các bạn thành công!
  • 0 khách hàng đã đánh giá bài viết này hữu ích
Câu trả lời có hữu ích với bạn?

Bài viết liên quan

Thay đổi múi giờ và thời gian trong CentOS

Ở một vài trường hợp bạn nhận thấy server (Dedicated Server, VPS hoặc Co-Location) chạy hệ...

Hướng dẫn kiểm tra PC có bị nhiễm Malware Emotet không

Emotet là một loại phần mềm độc hại thực sự khó chịu đã hoạt động trong nhiều năm. Đó là một...