1.ソリューション
データベースを定期的にバックアップするためのソリューションは、大きく3つの部分に分かれています。1つは、WindowsプラットフォームのタイミングプランやLinuxプラットフォームのCrontabなどのタイミングスケジューラです。2つ目は、WindowsプラットフォームのDOSバッチスクリプトやLinuxプラットフォームのシェルスクリプトなどのデータベースバックアップスクリプトです。最後は、主にselect ... intooutfileとmysqldumpを使用するバックアップsqlステートメントです。
2.時間指定バックアップWindows上の
MySQLschtasks.exeは、コマンドとプログラムを定期的に実行または実行するようにスケジュールするために使用されます。スケジュールからタスクを追加および削除したり、必要に応じてタスクを開始および停止したり、スケジュールされたタスクを表示および変更したりできます。
#创建计划任务(每隔指定时间备份一次MySQL)
schtasks /create /sc minute /mo 1 /tn taskName /tr d:\backup\mysql_mydb_backup.bat
#备份数据库的脚本mysql_databaseName_backup.bat
mysqldump -h localhost -uroot -p123456 databaseName > d:\backup\databaseName.sql
#删除计划任务
schtasks /delete /tn taskName
3.Linuxで定期的なバックアップ
MySQLCrontabを実現します
#每天凌晨00:00执行shell脚本(备份数据库)
0 0 * * * bash /home/backup/mysql_mydb_backup.sh
シェルスクリプトとバックアップステートメント
#!/bin/bash
#备份目录
backup_dir = /home/backup
#备份文件名
backup_filename = “mydb-`date +%Y%m%d`.sql“
#进入备份目录
cd $backup_dir
#备份数据库
mysqldump -h localhost -uroot -p123456 mydb > ${backup_dir}/${backup_filename}
#删除7天以前的备份
find ${backup_dir} -mtime +7 -name "*.sql" -exec rm -rf {
} \;