mysql异地备份与恢复
概述binlog2sql是一个开源的Python开发的MySQL Binlog解析工具,能够将Binlog解析为原始的SQL,也支持将Binlog解析为回滚的SQL,以便做数据恢复。gihub:htt...
2024.11.21前一篇文章《windows服务器应用系统自动备份策略》讲到了mysql数据库本地备份策略,如果觉得备份到服务器上不够安全,防止服务器意外硬件损坏致使备份也丢失。那么可以采取异地备份,网上很多windows服务器异地备份的教程都是通过搭建ftp或者共享存储实现取回,其实完全可以通过调整mysqldump参数实现(mysqldump是mysql自带的逻辑备份工具)。具体步骤如下:
一、任意找一台与服务器网络互通的终端,服务器端我们需要进行两项操作:1.将服务器防火墙添加入站规则开放3306端口;
2.登录服务器数据库,新建一个远程用户,假设用户名administrator,密码123456,主机名172.16.1.52,生成密码留空,全局权限勾选全选,执行。
图1创建mysql远程账户
二、在终端上需要进行四个操作:1.如果终端没安装mysql,则从服务器mysql安装目录下拷贝mysqldump.exe文件到终端D盘;如果已经安装了mysql则定位到mysql安装路径下的bin目录中,就会发现有mysqldump.exe文件。
2.编写备份批处理脚本,注意端口号前参数是大写P,且中间没有空格。如果安装了mysql需要把代码中的D:\mysqldump替换为mysql安装目录bin下的mysqldump.exe绝对路径即可。
@echo offset "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"D:\mysqldump --opt -uadministrator -p123456 -h172.16.1.52 -P3306 phpems > D:/db_backup/db_%Ymd%.sql@echo on3.新建备份文件夹db_backup;
4.创建周期计划任务,指定脚本路径,定好备份周期;
至此,数据库远程备份就设置好了。可以测试运行一下周期计划任务,就会发现D盘db_backup目录下已经将远程数据库备份到了该终端。
经验总结1.服务器崩溃只要把数据库时时备份好,就不会有什么问题,出了问题一键导入还原数据库即可;
2.根据应用系统使用频率和重要程度设置备份频率,以便恢复到最近时间点的数据;
3.检查测试备份数据库的有效性,试着在测试机恢复数据库看看是否完整。
4.定期清理旧数据库备份文件,以免过多占用磁盘空间致使新备份无法写入。
5.如果是公网服务器,只需要将服务器远程用户IP和终端自动备份脚本的IP更换为终端的固定公网IP。
概述binlog2sql是一个开源的Python开发的MySQL Binlog解析工具,能够将Binlog解析为原始的SQL,也支持将Binlog解析为回滚的SQL,以便做数据恢复。gihub:htt...
2024.11.21概述最近梳理了下Oracle、mysql、sqlserver的一些备份情况,关于mysql之前只做了定期备份的脚本,但是并没有把备份是否正确输出为日志,所以前段时间调整了一下脚本,下面分享一下修改后的...
2024.11.20概述从MySQL5.6开始,mysqlbinlog支持将远程服务器上的binlog实时复制到本地服务器上。mysqlbinlog的实时二进制复制功能并非简单的将远程服务器的日志复制过来,它是通过MyS...
2024.11.20前言:我也是在学习过程中,不对的地方请谅解show databases;#查看数据库表create database name(数据库名); #创建数据库drop database name(数据库名...
2024.11.21一个IT从业者,分享IT的各种相关内容。点个关注,不迷路,总有能帮到你的分享内容。什么?帮不到。那谢谢你这么俊/这么美,来关注我!我们为什么需要免密码登录MySQL?比如为了编写脚本的方便。这里分享3...
2024.11.20