mysql数据库 定时同步数据_MySQL数据库的定时同步

本文原创,转载请说明出处

需求:要对内网的机器上的MySQL数据库做热备.主机,10.21.11.70

.从机,10.21.11.38.每天凌晨0点从70上同步到38上.由于项目本身是点菜系统,如果用C#写程序将38上没有的菜品信息从70复制到38上,那么将出现ID不同的情况(ID是自动增长的).所以,这我们采用的是将38库的表都删除重建的方式,由于数据库数据不多,所以性能不高并不妨碍.

找了几天资料,终于确认最简单的解决方案:CMD.

以下CMD 根据网络资料修改而成.

参考地址:http://micate.me/windows-mysql-backup.note?replytocom=129

@echo off & setlocal ENABLEEXTENSIONS

:: ---------- 配置项 ----------

:: 备份放置的路径,加 \

set BACKUP_PATH=D:\Backup\

:: 要备份的服务器IP

set HOST=10.21.11.70

:: 要备份的服务器端口

set PORT=3306

:: 要备份的数据库名称,多个用空格分隔

set DATABASES=mobileserver_tangla

:: 要备份的数据库名称,多个用空格分隔

set DATABASES=mobileserver_tangla

:: MySQL 用户名

set USERNAME=root

:: MySQL 密码

set PASSWORD=123456

:: MySQL Bin 目录,加 \

:: 如果可以直接使用 mysqldump(安装时添加 MySQL Bin 目录到了环境变量),此处留空即可

set MYSQL=

:: WinRAR 自带命令行工具的可执行文件路径,长文件名注意用 Dos 长文件名书写方式

set WINRAR=C:\Program Files\WinRAR\Rar.exe

:: ---------- 以下请勿修改 ----------

set YEAR=�te:~0,4%

set MONTH=�te:~5,2%

set DAY=�te:~8,2%

:: 如果在 dos 下输入 time 返回的不是 24 小时制(没有 0 填充),请自行修改此处

set DIR=�CKUP_PATH%%YEAR%%MONTH%\

set ADDON=%YEAR%%MONTH%�Y%

:: create dir

if not exist %DIR% (

mkdir %DIR% 2>nul

)

if not exist %DIR% (

echo Backup path: %DIR% not exists, create dir failed.

goto exit

)

cd /d %DIR%

:: backup

echo Start dump databases...

for %%D in (�TABASES%) do (

echo Dumping database %%D ...

%MYSQL%mysqldump --host %HOST% --port %PORT% -u%USERNAME%

-p%PASSWORD% %%D > %%D.�DON%.sql

2>nul

)

echo Done

还原数据库请将 %MYSQL%mysqldump --host %HOST% --port %PORT%

-u%USERNAME% -p%PASSWORD% %%D > %%D.�DON%.sql

2>nul修改成

%MYSQL%mysql -uroot -p123456

mobileserver_tangla

本问中的备份不包括存储过程和自定义函数.

关于cmd命令的参考:http://freeskywcy.iteye.com/blog/1233132

关于MySQl的命令的参考:http://www.cppblog.com/keigoliye/default.html?page=2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值