有做lol直播网站有哪些人,简单网站建设流程图,青岛网站制作价格,科技网络公司怎么取名字windows备份 全量备份
创建备份目录
需要在安装数据库的服务器上创建备份目录,所有如果要做备份至少需要两倍的硬盘空间,
mkdir D:\mysql_backup\full_backup准备备份脚本
创建一个windows批处理文件#xff08;例如 full_backup.bat#xff09;#xff0c;用来执行全量…windows备份 全量备份
创建备份目录
需要在安装数据库的服务器上创建备份目录,所有如果要做备份至少需要两倍的硬盘空间,
mkdir D:\mysql_backup\full_backup准备备份脚本
创建一个windows批处理文件例如 full_backup.bat用来执行全量备份并使用 robocopy 将备份文件传输到远程服务器。
echo off:: 配置部分
set MYSQL_USERroot
set MYSQL_PASSWORDyourpassword
set MYSQL_HOSTlocalhost
set BACKUP_DIRC:\mysql_backups\full
set REMOTE_DIR\\remote-server\backup\full
set TIMESTAMP%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set BACKUP_FILE%BACKUP_DIR%\full_backup_%TIMESTAMP%.sql:: 创建本地备份目录
if not exist %BACKUP_DIR% (mkdir %BACKUP_DIR%
):: 执行全量备份
mysqlpump -u%MYSQL_USER% -p%MYSQL_PASSWORD% -h%MYSQL_HOST% --result-file%BACKUP_FILE%:: 使用robocopy传输备份文件到远程服务器
robocopy %BACKUP_DIR% %REMOTE_DIR% %BACKUP_FILE%:: 输出备份完成信息
if %errorlevel% leq 1 (echo Full backup completed successfully and copied to remote server.
) else (echo Error during backup or file transfer.
)
pause脚本说明
BACKUP_DIR本地存储备份文件的目录。REMOTE_DIR远程服务器的备份目录路径。TIMESTAMP生成带时间戳的备份文件名确保每次备份文件名唯一。mysqlpump执行全量备份命令。robocopy复制备份文件到远程服务器robocopy 会自动处理网络传输中的一些问题。
执行全量备份
编写批处理脚本
自动化备份
你可以通过Windows任务计划程序将这些脚本设置为定期执行,每两天进行全量备份每天执行增量备份
打开“任务计划程序”。创建基本任务并设置触发器如每周或每天。在操作中选择“启动程序”然后浏览并选择对应的批处理文件full_backup.bat 或 incremental_backup.bat。保存任务。
增量备份
启用二进制日志
这里需要启用二进制,配置文件中的配置mysql的配置my.ini
[mysqld]
log-binmysql-bin
binlog-formatROW
server-id1编写增量备份脚本
MySQL的增量备份一般是通过备份二进制日志Binary Logs来实现的。以下是一个基于 mysqlpump 备份二进制日志的增量备份脚本示例
echo off:: 配置部分
set MYSQL_USERroot
set MYSQL_PASSWORDyourpassword
set MYSQL_HOSTlocalhost
set BINLOG_DIRC:\mysql_binlogs
set BACKUP_DIRC:\mysql_backups\incremental
set REMOTE_DIR\\remote-server\backup\incremental
set TIMESTAMP%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%:: 创建本地备份目录
if not exist %BACKUP_DIR% (mkdir %BACKUP_DIR%
):: 刷新二进制日志
mysqladmin -u%MYSQL_USER% -p%MYSQL_PASSWORD% -h%MYSQL_HOST% flush-logs:: 复制新的二进制日志到备份目录
robocopy %BINLOG_DIR% %BACKUP_DIR% mysql-bin.*:: 使用robocopy传输增量备份文件到远程服务器
robocopy %BACKUP_DIR% %REMOTE_DIR%:: 输出备份完成信息
if %errorlevel% leq 1 (echo Incremental backup completed successfully and copied to remote server.
) else (echo Error during incremental backup or file transfer.
)
pauseBINLOG_DIR二进制日志文件的存储目录。mysqladmin flush-logs刷新二进制日志生成新的日志文件准备备份旧的日志文件。robocopy将本地备份文件传输到远程服务器并处理传输中的问题。
传输二进制日志文件
echo off
set BINLOG_DIRC:\mysql\data
set REMOTE_SHARE\\192.168.1.100\BackupDirectory\incremental_backupecho Transferring binary logs to remote share...
robocopy %BINLOG_DIR% %REMOTE_SHARE% mysql-bin.*if %errorlevel% geq 8 (echo Failed to transfer binary logs to the remote share.
) else (echo Binary logs successfully transferred to the remote share.
)echo Incremental backup completed.备份计划
恢复备份
恢复全量备份
mysql -u root -p /path/to/backup/directory/full_backup_YYYYMMDD.sql应用增量备份
mysqlbinlog /path/to/backup/directory/incremental_backup/mysql-bin.000001 | mysql -u root -p
mysqlbinlog /path/to/backup/directory/incremental_backup/mysql-bin.000002 | mysql -u root -plinux备份