Backup sao lưu cơ sở dữ liệu là công việc cần thiết. Bài viết này mình sẽ hướng dẫn cho các bạn cách backup cơ sở dữ liệu trên XAMPP bằng code PHP, cụ thể hơn là export cơ sở dữ liệu của WordPress chạy trên XAMPP và lưu dưới dạng database.sql.
Trong bài hướng dẫn này mình sẽ tận dụng tiện ích mysqldump
có sẵn trên XAMP và sử dụng hàm exec
trên PHP để thực hiện lệnh trên Command Prompt.
Export cơ sở dữ liệu trên XAMPP bằng PHP
Với đoạn code export database này bạn có thể chỉnh sửa lại để sử dụng trên các dự án PHP khác ngoài WordPress. Bây giờ bạn mở tập tin functions.php và thêm vào đoạn code sau:
function hocwp_theme_dev_export_database() { global $wpdb; $name = DB_NAME; $user = DB_USER; $pass = DB_PASSWORD; $file_name = $name . '_' . date( 'Y-m-d' ) . '_' . date( 'H-i-s' ) . '.sql'; $dirs = wp_upload_dir(); $dir = dirname( $dirs['basedir'] ); $dir = trailingslashit( $dir ) . 'backups/databases/'; if ( ! is_dir( $dir ) ) { mkdir( $dir, 0777, true ); } $dir .= $file_name; $root = dirname( $_SERVER['DOCUMENT_ROOT'] ); $cmd = trailingslashit( $root ) . "mysql/bin/mysqldump -u$user -p$pass $name > $dir"; exec( $cmd ); }
Sau khi khởi tạo xong hàm thì bạn có thể gọi hàm tại bất kỳ vị trí nào, tốt nhất bạn nên sử dụng kèm với hàm wp_schedule_event của WordPress để đặt lịch cho hệ thống backup cơ sở dữ liệu định kỳ.