Ngoài việc restore database của website trực tiếp bằng phpmyadmin thì bạn có thể vào trực tiếp ssh và restore bằng câu lệnh với những file database mysql có dung lượng lớn.

Trong bài viết này Tam Nguyên xin 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 bằng câu lệnh

Kết nối SSH

Tất nhiên, muốn thực thi các câu lệnh trong SSH các bạn cần kết nối SSH đến VPS, Server của mình. Để kết nối SSH mình thường dùng phần mềm Putty trên Windows hoặc ngay chính ứng dụng Terminal trên Mac OS.

Backup database bằng Command Line

Để 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

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 kinhdoanh

$ mysqldump -u root -p kinhdoanh > backup_kd.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 kinhdoanh bang_a bang_b > backup_kd.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

$ 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 với tên file tamnguyen.sql

$ mysql -u tamnguyen_user -p tamnguyen_db < backup_kd.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]

Chúc các bạn thành công!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

0984966806