oracle、mysql定时备份,异地灾备

以Windows为例,可将下列代码,复新到.bat脚本文件中,计划定时执行。

1、可建立bat脚本,定时清理过期的备份数据库文件

::自动删除F:\CTLMES\oracle_data\DATA_BAK\下超过7天的备份文件
forfiles /p "D:\CTLMES\oracle_data\DATA_BAK" /s /m *.dump /d -7 /c "cmd /c del @path"
forfiles /p "D:\CTLMES\oracle_data\DATA_BAK" /s /m *.sql /d -7 /c "cmd /c del @path"

2、生成新的备份文件

a) 生成oracle备份文件

ORACLE_DATA_BAK 是

set backupDate=%date:~0,4%%date:~5,2%%date:~8,2%
set backFileName=ctlmes%backupDate%.dump
expdp username/password@SERVICENAME directory=ORACLE_DATA_BAK dumpfile=%backFileName%
set source=D:\CTLMES\oracle_data\DATA_BAK\%backFileName%
set target=\D\CTLMES

会在如下目录根据日期生成备份文件:D:\CTLMES\oracle_data\DATA_BAK\CTLMES20220606.DUMP

b) 生成mysql备份文件(也可借助MySQL Administrator来定时备份)

::确保用户有备份权限,也可如下新建一个专门的备份用户
::create user dumper@'127.0.0.1' identified by '123456';
::grant select on * to dumper@'127.0.0.1';
::grant select on * to dumper@'127.0.0.1';
::grant show view on * to dumper@'127.0.0.1';
::grant lock tables on * to dumper@'127.0.0.1';
::grant trigger on * to dumper@'127.0.0.1';

::开始备份数据库ctlmes_aps_data和ctlmes_execute_data_,如果有多个自行添加,如果是动态备份一定要加上--skip-opt,它表示禁用下面这些选项 Disable --opt. Disables --add-drop-table, --add-locks,  --create-options, --quick, --extended-insert,  --lock-tables, --set-charset,
and --disable-keys,否则可能会锁表

mysqldump --skip-opt -udumper -p123456 ctlmes_aps_data > ctlmes_aps_data_%backupDate%.sql
mysqldump --skip-opt -udumper -p123456 ctlmes_execute_data > ctlmes_execute_data_%backupDate%.sql

3、异地灾备

这里比较弱,没有借助专业软件,纯粹利用共享同步(拷备)备份文件到另一台物理服务器上,达到异地灾备的效果。

a) 首先将异地服务器(如:10.36.31.168),共享一个文件夹出来(如:数据库灾备)。提供该服务器的登录用户名和密码(可新增低权限用户)

b)利用xcopy拷备到异地服务器的共享目录中去

::这里的source指的就是上面定义的oracle备份文件全路径变量
net use  \\10.36.31.168 "电脑密码" /user:"电脑用户名"
xcopy %source% \\10.36.31.168\数据库灾备 /y
::拷备mysql的备份文件
set mysqlSource1=D:\CTLMES\oracle_data\DATA_BAK\ctlmes_aps_data_%backupDate%.sql
xcopy %mysqlSource1% \\10.36.31.168\数据库灾备 /y

set mysqlSource1=D:\CTLMES\oracle_data\DATA_BAK\ctlmes_execute_data_%backupDate%.sql
xcopy %mysqlSource1% \\10.36.31.168\数据库灾备 /y

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
MySQL主从灾备是一种常用的数据库高可用方案,通过将一个MySQL数据库实例(主库)的数据同步到其他多个MySQL实例(从库)上,实现数据的冗余备份和读写分离,以提高系统的可用性和性能。 主从灾备的工作原理如下: 1. 主库:主库是应用程序的写入和更新操作的主要来源,它负责处理所有的写操作,并将这些操作记录在二进制日志(binlog)中。 2. 从库:从库通过复制主库的二进制日志来实现数据的同步。从库会连接到主库,并请求获取主库的二进制日志,然后将这些日志应用到自己的数据库中,从而保持与主库数据的一致性。 3. 数据同步:主库将写操作记录在二进制日志中,从库通过读取并解析这些日志来获取更新的数据,并将其应用到自己的数据库中。这样就可以保持主从库之间的数据一致性。 4. 读写分离:由于从库只负责读操作,可以将读请求分发到从库上进行处理,从而减轻主库的负载,提高系统的读取性能。 主从灾备的好处包括: 1. 数据冗余备份:通过将数据复制到多个从库上,可以实现数据的冗余备份,提高数据的可靠性和安性。 2. 高可用性:当主库发生故障时,可以快速切换到从库作为新的主库,从而实现系统的高可用性,减少系统的停机时间。 3. 读写分离:通过将读请求分发到从库上,可以提高系统的读取性能,减轻主库的负载。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水瘦山寒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值