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