关于windows定时任务备份mysql
windows 定时
一、右击我的电脑->选择管理->任务计划程序,打开计划任务
二、开始创建任务计划。
1、常规设置?都懂不再多说。
2、触发器:新建->设置一个时间
3、操作:新建->选择一个可执行程序,参数如果执行PHP备份mysql。首先mysql加入环境变量,直到mysql在命令行能执行
如在path中新建输入D:\phpstudy_pro\Extensions\MySQL5.7.26\bin mysql执行文件目录,一路确定
写一个demo 简单如下
<?php // 数据库名称 $database_name = 'demo'; //--all-databases //全导 //--databases db1 db2 //指定数据库 //--databases db1 -tables a1 a2 //指定表 //--no-data --databases db1 //仅结构 //mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2 //跨域,host2中的数据库必需先存在 //mysqldump -uroot -p --host=localhost --all-databases --routines //导出存储过程 //压缩备份 //mysqldump -uroot -p -P3306 -q -Q --set-gtid-purged=OFF --default-character-set=utf8 --hex-blob --skip-lock-tables --databases abc 2>/abc.err |gzip >/abc.sql.gz //mysqldump -uroot -p`echo "MTIzNDU2" |base64 -d` --single-transaction --routines --max_allowed_packet=512M --all-databases | gzip > all_db_$(date +%F).sql.gz //还原 //gunzip -c abc.sql.gz |mysql -uroot -p -vvv -P3306 --default-character-set=utf8 abc 1> abc.log 2>abc.err //gunzip < all_db_2023-04-13.sql.gz | mysql -uroot -p`echo "MTIzNDU2" |base64 -d` //mysqldump -uroot -p123456 --all-databases | gzip > all_abc.sql.gz //gunzip < all_abc.sql.gz | mysql -uroot -p12356 // 数据库用户名 $database_user = 'root'; // 数据库密码 $database_password = 'root'; // 备份文件存储目录 $backup_dir = '/backup/database'; // 备份文件名称 $backup_file = $backup_dir . '/' . $database_name . '_' . date('YmdHis') . '.sql'; // 创建备份文件目录 if (!is_dir($backup_dir)) { mkdir($backup_dir,0777,true); } // 执行备份命令 $cmd = "mysqldump -u$database_user -p$database_password $database_name > $backup_file"; system($cmd); echo "Backup database $database_name to file $backup_file successfully!";
现在可以添加操作了,选择php.exe目录,参数backup.php,起始于D:\backup\
OK,现在可以一试啦