Cách tự động sao lưu cơ sở dữ liệu MySQL bằng PHP

Cach Tu Dong Sao Luu Co So Du Lieu Mysql Bang Php



MySQL là một RDBMS nguồn mở có thể tạo, quản lý và lưu trữ khối lượng dữ liệu khổng lồ một cách hiệu quả theo cách có cấu trúc. Để đảm bảo tính bảo mật của dữ liệu, sao lưu cơ sở dữ liệu là một công việc quan trọng. MySQL hỗ trợ nhiều ngôn ngữ, vì vậy để tạo bản sao lưu của cơ sở dữ liệu MySQL, người dùng có thể viết tập lệnh bằng PHP, đây là một ngôn ngữ kịch bản mạnh mẽ.

Bài viết này sẽ thảo luận cách tạo bản sao lưu cơ sở dữ liệu MySQL bằng PHP và tự động hóa quá trình sao lưu.

Tự động sao lưu cơ sở dữ liệu MySQL bằng PHP

Để viết mã PHP, hãy mở bất kỳ trình soạn thảo mã nào. Đối với bài đăng này, “ Mã phòng thu trực quan ' đang được sử dụng:









Tạo một tệp PHP có tên “ db_backup.php ”:







Nhập mã này và cung cấp thông tin đăng nhập cơ sở dữ liệu MySQL của bạn:

định nghĩa ( 'DB_HOST' , 'your_mysql_host' ) ;

định nghĩa ( 'DB_USER' , 'your_mysql_username' ) ;

định nghĩa ( 'DB_PASS' , 'your_mysql_password' ) ;

định nghĩa ( 'DB_NAME' , 'your_database_name' ) ;

Xác định thư mục Sao lưu, nơi các tệp sao lưu sẽ được lưu trữ:



định nghĩa ( 'BACKUP_DIR' , '/đường dẫn/đến/của bạn/sao lưu/thư mục' ) ;

Đặt định dạng ngày cho tên của tệp sao lưu:

$date = date('Y-m-d_H-i-s');

Xác định “ tập tin sao lưu ”:

$backup_file = BACKUP_DIR . '/' . DB_NAME . '-' . $ngày . '.sql';

Để tạo tệp sao lưu, hãy sử dụng tiện ích mysqldump và cung cấp thông tin đăng nhập cơ sở dữ liệu:

$command = 'mysqldump --user='.DB_USER.' --password='.DB_PASS.' '.DB_NAME.' > '.$backup_file;

hệ thống($lệnh);

Nén tập tin sao lưu bằng cách sử dụng “ gzip ' dụng cụ:

$gzip_command = 'gzip '.$backup_file;

hệ thống($gzip_command);

Nhập đoạn mã này để xóa các tệp sao lưu cũ, đối với bài đăng này, các tệp là “ 7 ” ngày cũ sẽ bị xóa:

$find_command = 'tìm '.BACKUP_DIR.' -type f -name '*.gz' -mtime +7 -delete';

hệ thống($find_command);

Lưu tệp và chạy tệp để xác nhận xem tệp sao lưu có được tạo hay không. Mở thiết bị đầu cuối của trình soạn thảo mã và gõ lệnh để thực thi tệp:

php .\db_backup.php

Liệt kê thư mục để xem nếu tập tin sao lưu tồn tại. Đầu ra hiển thị tệp sao lưu được tạo thành công:

Để tự động hóa quá trình sao lưu, hãy mở menu bắt đầu, tìm kiếm “ Bảng kế hoạch ” và nhấp vào “ Mở ' cái nút:

Từ ' hành động ” và nhấn nút “ Tạo nhiệm vụ ' lựa chọn:

Một thuật sĩ mới sẽ mở ra. Đi vào “ Tổng quan ” tab và cung cấp tên của tác vụ. Chọn tùy chọn đảm bảo sao lưu ngay cả khi người dùng đã đăng xuất:

Điều hướng đến “ Gây nên ” tab và nhấn “ Mới ' cái nút:

Chọn tùy chọn “ Trên một lịch trình ”. Chọn thời gian dự kiến ​​là “ Hằng ngày ” và điều chỉnh “ Bắt đầu ' thời gian. Trong Cài đặt nâng cao, hãy kiểm tra “ Đã bật ” tùy chọn và nhấn “ ĐƯỢC RỒI ' cái nút:

Trạng thái sẽ thay đổi thành “ Đã bật ”:

Chọn “ hành động ” tab và nhấp vào “ Mới ' cái nút:

Nhập tên cho “Hành động” và duyệt tìm “ chương trình/kịch bản ” Tập tin PHP bạn đã tạo và “ Thêm đối số ” và bấm vào “ ĐƯỢC RỒI ”:

Hành động sẽ được tạo thành công:

Chuyển đến phần “ Điều kiện ” tab và chọn hộp kiểm “ Đánh thức máy tính để thực hiện nhiệm vụ này ”:

Bên trong ' Cài đặt ” và chọn các tùy chọn như được hiển thị trong đầu ra và điều chỉnh thời gian khởi động lại và nhấp vào “ ĐƯỢC RỒI ' cái nút:

Lời nhắc sẽ xuất hiện, nhập thông tin đăng nhập và nhấp vào “ ĐƯỢC RỒI ' cái nút:

Cơ sở dữ liệu MySQL của bạn sẽ tự động sao lưu. Kiểm tra thư mục backup để xem các file backup khi cần:

Bạn đã tạo thành công tệp PHP để sao lưu cơ sở dữ liệu MySQL, sau đó để tự động hóa quá trình sao lưu, bạn đã sử dụng Trình lập lịch tác vụ.

Phần kết luận

Sử dụng trình chỉnh sửa mã để tạo tệp PHP, cung cấp thông tin đăng nhập cơ sở dữ liệu MySQL và định dạng tên tệp sao lưu và định dạng ngày. Sử dụng lệnh mysqldump để tạo tệp SQL và công cụ gzip để nén tệp SQL. Sử dụng Trình lập lịch tác vụ để tự động hóa quy trình sao lưu. Bài đăng này trình bày cách tự động sao lưu cơ sở dữ liệu MySQL bằng PHP.