Sao lưu MySQL bằng cách copy trực tiếp các Data file

Sao lưu MySQL bằng cách copy trực tiếp các Data file

mysqldump là công cụ phổ biến và dễ dàng nhất để sao lưu database MySQL. Tuy nhiên, bạn chỉ có thể sử dụng mysqldump khi MySQL hoạt động. Nếu MySQL không hoat động hoặc database cần sao lưu không thể start, hẳn nhiên bạn cũng không thể thực thi mysqldump. Trong tình huống này, bạn vẫn có thể sao lưu bằng cách copy trực tiếp các file database của MySQL.

Bài viết sau hướng dẫn bạn sao lưu theo cách này với MySQL trên Linux.

  1. Đầu tiên, bạn cần stop MySQL.
    /etc/init.d/mysql stop
  2. Tìm đến thư mục chứa dữ liệu của MySQL. Thư mục này thường là /var/lib/mysql. Bạn cũng có thể xem giá trị datadir ở file /etc/my.cnf (hoặc /etc/mysql/my.cnf) để xem đường dẫn này. Hoặc dùng lệnh bên dưới.
    grep datadir /etc/my.cnf
  3. Tất cả dữ liệu các database của MySQL được chứa ở thư mục này. Do đó, bạn sao chép toàn bộ dữ liệu tại thư mục này sang vùng lưu trữ sao lưu. Lưu ý sử dụng tùy chọn -R để copy toàn bộ thư mục con bên trong.
    cp -R /var/lib/mysql/* /opt/mysql_backup/04072013
  4. Sau khi copy, bạn có thể sử dụng lệnh tar để nén dữ liệu và thuận tiện cho việc quản lý.
    cd /opt/mysql_backup/04072013
    tar -czfv * > /opt/mysql_backup/04072013.tar.gz
  5. Nên sao chép file .tar vừa tạo sang vùng lưu trữ offsite để đảm bảo tính an toàn.
  6. Khởi động lại MySQL.
    /etc/init.d/mysql start