mysqldump – công cụ Sao lưu và phục hồi database dung lượng lớn

//

mysqldump

Mysqldump là một tiện ích sao lưu và phục hồi dữ liệu có sẵn trong MySQL. Khi sử dụng Mysqldump , bạn có thể backup được những database có dung lượng lớn, có thể từ 1 GB trở nên mà vẫn dễ dàng và nhanh chóng. Điều mà các công cụ sao lưu database khác như sử dụng phpmyadmin, sypex dumper, Mysqldumper… không làm được.

Về lý thuyết mysqldump bạn có thể backup database lên tới hàng chục GB vẫn được. Tuy nhiên backp và phục hồi database dung lượng lớn như vậy, Server của bạn phải mạnh mới làm được.

Mysqldump sẽ tạo một file backup .sql file này ta có thể lưu trữ ở một nơi khác cho an toàn và trong trường hợp có sự cố, ta dùng chính mysqldump để restore database từ chính file backup này bằng một lệnh duy nhất.

Mysqldump sử dụng qua SSH vì vậy bạn chỉ sử dụng trên VPS, Server và các hosting có hỗ trợ SSH 

Sao lưu và phục hồi database dung lượng lớn

Bài viết này mình sẽ hướng dẫn các bạn sao lưu và phục hồi Database mysql bằng Mysqldump

lệnh sao lưu và phục hồi database bằng mysqldump

mysqldump -u username -p[username_password] databasename > /path/databasename_backup.sql
mysql -u username -p[username_password] databasename < /path/to/databasename_backup.sql

Hướng dẫn backup database bằng Mysqldump 

Ví dụ ta sao lưu database mydata với user là root, mật khẩu là 12345678, folder lưu trữ file backup là /home/abc.com/public_html/backupDT/

mysqldump -u root -p12345678 mydata > 
/home/abc.com/public_html/backupDT/bk_mydata.sql

backup nhiều database của 1 user

Ví dụ sao lưu hai database ABC và CDE của user: root, mới mật khẩu 123456. Sao lưu vào /home/abc.com/public_html/saoluu123/

mysqldump -u root -p123456 --databases ABC CDE > /home/abc.com/public_html/saoluu123/ABC_CDE.sql

Kiểm tra xem sao lưu đã chính xác chưa:

grep -i "Current database:" /home/abc.com/public_html/saoluu123/ABC_CDE.sql-- Current Database: `ABC`-- Current Database: `CDE`

Tùy theo dung lượng database và cấu hình server mà kết quả kiểm tra sẽ nhanh hay chậm nhé.

Sao lưu tất cả database của cùng một user

mysqldump -u root -p[mat_khau] --all-databases > /home/abc.com/public_html/saoluu123/all.sql

Restore database bằng Mysqldump

Trong ví dụ này mình sẽ phục hồi database mydata đã backup ở trên.

Bạn phải chắc chắn database mydata đã được tạo trước khi ta phục hồi nhé.

Nếu phục hồi nhiều database 1 lúc, tất cả các database đều phải được tạo trước rồi nhé !

mysql -u root -p12345678 mydata < /home/abc.com/public_html/backupDT/bk_mydata.sql

Như vậy là mình đã hớng dẫn các bạn backup và restore database có dung lượng lớn cho website

Leave a Comment