Sao lưu và phục hồi database dung lượng lớn bằng 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 dùng 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. Mình backup một database cho site mình với dung lượng 2,2 GB mất chưa đến 1 phút là xong. 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 như stablehost ….

Trong bài viết này, mình sẽ nêu một vài trường hợp và cách sử dụng mysqldump để sao lưu và phục hồi database.

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

Hai lệnh sao lưu và phục hồi của mysqldump

Sao lưu:

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

Phục hồi:

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

các ví dụ dưới mình dùng user là root, nơi lưu trữ backup file mình sử dụng /home/abc.com/public_html/saoluu123/ . Bạn có thể thay đổi nó cho đúng với đường dẫn lưu file backup, user, database và mật khẩu của bạn.

Làm thế nào sao lưu (backup) database

Sao lưu 1 database

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

ta sẽ dùng lệnh như sau:

mysqldump -u root -p123456 ABC > /home/abc.com/public_html/saoluu123/ABC_backup.sql

Sao lưu hai hay 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/

ta dùng lệnh sau:

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

ta 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

Sao lưu 1 table trong database

mysqldump -u root -p[mat_khau]abc wp_post \
      > /home/abc.com/public_html/saoluu123/abc_wp_post.sql

với wp_post là một table trong abc mình cần sao lưu.

Phục hồi database

Trong ví dụ này mình sẽ phục hổi database ABC đã backup ở trên. Bạn phải chắc chắn database ABC đã đượ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 -p[mat_khau]
mysql> creat database ABC;
Query OK, 1 row affected (0.02 sec)

mysql -u root -p123456 ABC < /home/abc.com/public_html/saoluu123/ABC_backup.sql

(Với user: root, database ABC, mật khẩu 123456)

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

Vậy là bài viết đã hoàn thành.  Các bạn có thể vận dụng nó để sao lưu dữ liệu cho VPS, Server của mình.

Nếu bạn chưa có VPS thì đừng quên tham khảo mã giảm giá VPS trước khi mua để mua với giá tiết kiệm nhất nha: Mã giảm giá VPS Coupon

Xem khuyến mại của : Digitalocean – Ramnode – Vultr .

Chúc bạn thành công.

About admin

Nhiều bạn chỉ biết mình là kỹ thuật viên chuyên ngành điện tử công nghiệp, điện tử dân dụng, nhưng đồng thời mình cũng là 1 Webmaster điều hành 1 số web và blog... Mình muốn đem những kiến thức mình biết để chia sẻ cho những anh em không biết, chưa biết... Hãy cùng nhau chia sẻ những gì chúng ta có, hãy chia sẻ thoải mái nếu nó không làm bạn nghèo đi nhé!

Theo dõi
Thông báo về
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả các ý kiến