mysqldump
命令结合计划任务(如Linux下的cron
或Windows下的任务计划程序)来定期执行备份操作。以下是一个基本的示例:,,1. 创建一个备份脚本,backup_mysql.sh:,,
`bash,#!/bin/bash,# 设置数据库连接信息,DB_HOST="localhost",DB_USER="root",DB_PASS="your_password",DB_NAME="your_database_name",,# 设置备份文件保存路径和名称,BACKUP_DIR="/path/to/your/backup/directory",BACKUP_FILE="$BACKUP_DIR/mysql_backup_$(date +%Y%m%d_%H%M%S).sql",,# 使用mysqldump进行备份,mysqldump h$DB_HOST u$DB_USER p$DB_PASS $DB_NAME > $BACKUP_FILE,
`,,2. 为脚本添加可执行权限:,,
`bash,chmod +x backup_mysql.sh,
`,,3. 将脚本添加到
cron计划任务中,以每天凌晨2点执行为例:,,
`bash,0 2 * * * /path/to/your/backup_mysql.sh,
`,,这样,每天凌晨2点,系统会自动执行
backup_mysql.sh`脚本,将数据库备份到指定目录。MySQL数据库自动备份方法
Windows平台
1、使用Windows任务计划程序:
创建批处理文件:创建一个批处理文件(.bat)来运行备份命令,打开记事本并输入以下内容:
“`batch
@echo off
set DATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
set TIME=%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
set BACKUP_DIR=C:MySQLBackups
set FILENAME=backup_%DATE%_%TIME%.sql
:: 创建备份目录(如果不存在)
if not exist %BACKUP_DIR% mkdir %BACKUP_DIR%
:: 执行备份命令
"C:Program FilesMySQLMySQL Server X.Xbinmysqldump.exe" u用户名 p密码 数据库名 > %BACKUP_DIR%%FILENAME%
:: 删除7天前的备份文件(可选)
forfiles /p %BACKUP_DIR% /s /m *.sql /d 7 /c "cmd /c del @file"
“`
将上述代码保存为backup_mysql.bat
。
设置任务计划:打开任务计划程序(按 Win + R 键,输入 taskschd.msc,按回车),点击“创建基本任务”,输入任务名称和描述,选择触发器(例如每日),设置开始时间,选择“启动程序”,在“程序或脚本”中选择刚才创建的backup_mysql.bat
文件,然后点击“完成”。
2、使用Navicat:
设置自动运行作业:打开Navicat,选择“自动运行”,点击“新建批处理作业”,选择要备份的数据库,双击右侧出现的“Backup test”,完成数据库的备份选择,起个作业名,选择“设置任务计划”,选择“不管用户是否登录都要运行”,勾选“使用最高权限运行(需要以管理员身份运行)”,设置备份频率、开始时间和每隔天数,点击“确定”。
Linux平台
1、使用crontab:
编写BASH脚本:使用vi或vim编写脚本内容并命名为mysql_dump_script.sh
:
“`bash
#!/bin/bash
#保存备份个数,备份31天数据
number=31
#备份保存路径
backup_dir=/root/mysqlbackup
#日期
dd=date +%Y%m%d%H%M%S
#备份工具
tool=mysqldump
#用户名
username=root
#密码
password=TankB214
#将要备份的数据库
database_name=edoctor
#如果文件夹不存在则创建
if [ ! d $backup_dir ]; then
mkdir p $backup_dir;
fi
$tool u $username p$password $database_name > $backup_dir/$database_name$dd.sql
“`
将上述代码保存为mysql_dump_script.sh
。
设置定时任务:安装crontab(如果未安装),通过命令yum install y crontab
进行安装,编辑crontab配置文件crontab e
,添加以下内容以每天凌晨3点执行备份脚本:
“`bash
00 3 * * * sh /path/to/your/script/mysql_dump_script.sh
“`
保存并退出编辑器。
2、使用mysqldump命令:
备份全部数据库的数据和结构:
“`bash
mysqldump uroot p123456 A > /data/mysqlDump/mydb.sql
“`
备份单个数据库的数据和结构:
“`bash
mysqldump uroot p123456 mydb > /data/mysqlDump/mydb.sql
“`
还原MySQL备份内容:
“`bash
mysql uroot p123456 < /data/mysqlDump/mydb.sql
“`
或者在登录进入mysql系统中,通过source指令找到对应系统中的文件进行还原:
“`bash
mysql> source /data/mysqlDump/mydb.sql
“`
FAQs
1、如何验证MySQL备份是否成功?
手动验证:手动运行批处理文件或脚本,检查指定的目录中是否生成了备份文件,如果文件存在并且大小合理,说明备份成功。
自动验证:通过查看任务计划程序的历史记录或crontab日志,确认任务是否按计划执行,如果任务成功完成,通常意味着备份已成功。
2、如何恢复MySQL数据库?
使用备份文件恢复:确保数据库空闲且存储空间足够,找到要使用的备份文件,在命令行中输入以下命令进行恢复:
“`bash
mysql uroot p123456 < /path/to/your/backup_file.sql
“`
或者在登录进入mysql系统中,通过source指令找到对应系统中的文件进行还原:
“`bash
mysql> source /path/to/your/backup_file.sql
“`
使用Navicat恢复:打开Navicat,选择“运行SQL文件”,选择要恢复的备份文件,点击“开始”即可。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1079129.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复