Nếu bạn đang sử dụng MySQL database, chắc chắn bạn sẽ không mong muốn dữ liệu của bạn bị mất. Do vậy việc backup MySQL database thường xuyên là cần thiết. Bạn có thể đơn giản hóa bằng cách sử dụng lệnh trong terminal để backup và restore.

Bài viết sau thanhtungweb hướng dẫn bạn cách đơn giản nhất để sao lưu và phục hồi dữ liệu MySQL database.
Backup bằng Command Line (sử dụng mysqldump để backup database)
Để có thể sử dụng dòng lệnh sao lưu cơ sở dữ liệu bạn cần đăng nhập vào server thông qua kết nối SSH như Putty, MobaXterm
Sử dụng cấu trúc lệnh như sau
$ mysqldump --opt -u [uname] -p [dbname] > [backupfile.sql]
Trong đó:
- [uname] : user của database
- [dbname] : Tên của database
- [backupfile.sql] : Tên file backup muốn lưu
- [–opt] : Các tùy chọn mysqldump
Ví dụ: Để backup database thanhtungweb
$ mysqldump -u root -p thanhtungweb > backup_thanhtungweb.sql
Bạn cũng có thể tùy chọn các bảng để backup bằng cách liệt kê các bảng, các bảng cách nhau bằng khoảng trắng (dấu space).
$ mysqldump -u root -p thanhtungweb bang_a bang_b > backup_thanhtungweb.sql
Backup MySQL Database và đồng thời nén File Backup lại
Nếu database có dung lượng lớn, bạn cần nén lại, khi đó bạn có thể sử dụng cấu trúc lệnh nén cùng gzip.
$ mysqldump -u [uname] -p [dbname] | gzip -9 > [backupfile.sql.gz]
Restore MySQL Database
Ở trên là cách tạo bản backup, tiếp tục chúng ta sẽ tìm hiểu cách restore. Cấu trúc lệnh như sau:
$ mysql -u [uname] -p [dbname] < [backupfile.sql]
Trong đó:
- [uname] : user của database
- [dbname] : Tên của database
- [backupfile.sql] : Tên file backup đã lưu (file backup muốn phục hồi)
Ví dụ: Phục hồi database thanhtungweb
$ mysql -u root -p thanhtungweb < backup_thanhtungweb.sql
Phục hồi database được nén
$ gunzip < [backupfile.sql.gz] | mysql -u [uname] -p [dbname]
Nếu bạn muốn phục hồi một database đã tạo ra trước đó bạn sử dụng lệnh mysqlimport. Cấu trúc lệnh như sau:
$ mysqlimport -u [uname] -p [dbname] [backupfile.sql]
Xem thêm:
- Cách Fix lỗi MySQL max_allowed_packet
- Hướng dẫn sửa lỗi Unknown collation: ‘utf8mb4_unicode_520_ci’ trong MySQL
Bài viết sau mình sẽ hướng dẫn bạn cách Backup MySQL Database một cách tự động hàng ngày.
Chúc các bạn thành công!