Hướng dẫn
Quảng cáo

Hướng dẫn Backup và Restore MySQL Database bằng lệnh trên CentOS, Ubuntu (Linux)

Hướng dẫn Backup và Restore MySQL Database bằng lệnh trên CentOS, Ubuntu (Linux)

Ngay cả trong phpMyAdmin cũng có chức năng này, vậy việc gì phải tìm hiểu và sử dụng bằng lệnh?

Vâng có nhiều lúc database quá lớn thì việc các bạn sử dụng các tool viết sẵn đó sẽ tốn nhiều thời gian và sẽ bị lỗi hoặc không làm được.

Đến lúc này thì việc chạy bằng dòng lệnh là giải pháp tối ưu (theo mình). Mình thường xuyên backup và restore những database lớn đến vài chục GB, và mình tìm hiểu nhiều những chưa có giải pháp nào tối ưu hơn việc dùng lệnh.

Sau đây mình hướng dẫn bạn cách dùng lệnh để 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

Hoặc nếu bạn dùng Ubuntu thì có thể dùng luôn Terminal của ubuntu thông qua lệnh:

Ví dụ

ssh root@105.257.195.15 -p 22


Sử dụng cấu trúc lệnh như sau để Backup database

Ví dụ

$ 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 vznvn

Ví dụ

$ mysqldump -u root -p vznvn > backup_vzn.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)

Ví dụ

$ mysqldump -u root -p vznvn bang_a bang_b > backup_vzn.sql


Back up MySQL Database và đồng thời nén 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

Ví dụ

$ 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:

Ví dụ

$ 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 vznvn

Ví dụ

$ mysql -u root -p vznvn < backup_vzn.sql


Phục hồi database được nén

Ví dụ

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:

Ví dụ

mysqlimport -u [uname] -p [dbname] [backupfile.sql]

Bài viết này đã giúp ích cho bạn?

Bài viết mới

Advertisements