windows下mysql全备份及还原(亲测可用)

环境:

要备份的数据库ip为 192.168.28.1 账户 test1 ,密码 123456

本地数据库ip 为 192.168.28.2 账户 test1 ,密码 123456

全备份分为设置数据库主从同步和没设置主从同步

备份设置主从同步的数据库:

@echo  off

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump" -utest1 --password=123456 -h192.168.28.1--flush_logs --single-transaction --master_data=2 --all-databases --delete_master_logs > E:\mysqlbk\full_sql\backup__%Ymd%.sql

rem 参数介绍:

rem flush_logs: 刷新二进制日志,会新建立并启用一个二进制日志文件

rem single-transaction:InnoDB 表在备份时,通常启用选项 --single-transaction 来保证备份的一致性,实际上它的工作原理是设定本次会话的隔离级别为:REPEATABLE READ,以确保本次会话(dump)时,不会看到其他会话已经提交了的数据。

rem master_data=2: master-data参数在建立slave数据库的时候会经常用到,因为这是一个比较好用的参数,默认值为1,默认情况下,会包含change master to,这个语句包含file和position的记录始位置。master-data=2的时候,在mysqldump出来的文件包含CHANGE MASTER TO这个语句,处于被注释状态

rem all-databases :所有的数据库

rem delete_master_logs:清理掉之前的二进制日志文件

rem %date:~,4%%date:~5,2%%date:~8,2%取当天的日期

@echo  on

备份没设置主从同步的数据库:

@echo  off

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump" -utest1 --password=123456 -h192.168.28.1 --single-transaction --all-databases > E:\mysqlbk\full_sql\backup_%Ymd%.sql

rem 参数介绍:

rem single-transaction:InnoDB 表在备份时,通常启用选项 --single-transaction 来保证备份的一致性,实际上它的工作原理是设定本次会话的隔离级别为:REPEATABLE READ,以确保本次会话(dump)时,不会看到其他会话已经提交了的数据。

rem all-databases :所有的数据库

rem %date:~,4%%date:~5,2%%date:~8,2%取当天的日期

@echo  on

数据还原:

@echo off

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql" -utest1 -p123456 -h192.168.28.1 --default-character-set=utf8 -f < E:\mysqlbk\full_sql\backup_%Ymd%.sql

rem 参数介绍:

rem default-character-set=utf8:设置字符集为utf8,防止乱码

rem -f:force,遇到错误直接跳过并继续执行下面的

rem %date:~,4%%date:~5,2%%date:~8,2%取当天的日期

@echo on

时间: 2024-11-05 12:24:50

windows下mysql全备份及还原(亲测可用)的相关文章

Windows下MYSQL自动备份批处理

windows下MYSQL自动备份批处理 2011-05-04 09:16:45|  分类: mysql|举报|字号 订阅 按系统时间进行备份 注意mysql安装路径中如果有空格.就要把,.bat文件拷到相应目录下面. 1.按系统时间进行直接拷贝 net stop mysqlxcopy data\*.* d:\bonadb\%date:~0,10%\ /y /s/enet start mysql 2.用压缩软件,压缩备份 net stop mysqlc:\progra~1\winrar\winr

windows下mysql增量备份与全备份批处理

win下的全备批处理 批处理用于游戏服务器,经过严格测试,且正式使用,主要用来完全备份数据库,当然.这只是将数备份出来 ,至于如何将备份出来的数据远程传送的远程服务器上可以调用ftp的功能,此脚本并未详细说明,不明白 的可留言,亦可邮件至[email protected] 代码如下 复制代码 @echo off@echo ###################################################################@echo # RAR backup sc

Windows下MySQL自动备份的batch脚本

在Unix系统环境中可以通过各种Unix shell结合cron任务实现对MySQL的自动备份,那在Windows下要如何实现呢,其实很简单只要写好自定义的batch脚本在结合taskschd.msc(任务计划程序),就可以实现,最近需要修改调优Windows环境下的MySQL就顺便写了一个使用mysqldump做逻辑备份的batch脚本,如下: @echo off ::mysql_backup.bat set hour=%time:~0,2% if "%time:~0,1%"==&q

Windows下MySQL数据库备份脚本(一)

说明: MySQL数据库安装目录:C:\Program Files\MySQL\MySQL Server 5.0 MySQL数据库存放目录:C:\Program Files\MySQL\MySQL Server 5.0\data MySQL数据库备份目录:D:\MySQLdata_Bak 实现目的:备份MySQL数据库存放目录中的mysql数据库到D:\MySQLdata_Bak目录,按照日期存放, 并且只保留最近7天的数据 例如: D:\MySQLdata_Bak\mysql\20120404

windows下mysql定时备份数据库几种方法

第一种:新建批处理文件 backup.dat 代码如下: net stop mysqlxcopy "C:/Program Files/MySQL/MySQL Server 5.0/data/piaoyi/*.*" D:/db_backup/%date:~0,10%/ /ynet start mysql 注意:批处理命令中路径里有空格的话,必须在路径上加上双引号!然后使用Windows的"计划任务"定时执行该批处理脚本即可.(例如:每天凌晨3点执行backup.bat

Linux下MySQL的备份与还原

1 备份 [[email protected] ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [[email protected] mysql]# mysqldump -u root -p databaseName>databaseName.sql,输入密码即可.2 还原[[email protected] ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [[emai

window下mysql数据备份与还原

1,配置mysql环境变量 备份 2,mysqldump -u username -p database [tables]>path 还原 3 mysql  -u root -p <path.sql

windows下mysql的备份批处理

rem *******************************Code Start***************************** @echo off set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" md D:\xl\%Ymd% D:\xampp\mysql\bin\mysqldump.exe  -u yunwei -p123456  -h 192.168.10.176  zentao --default-character-se

windows下mysql定时备份

计划任务中调用bat 脚本文件,运行mysqldump备份 bat命令 set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%" C:\mysql57\bin\mysqldump --opt --single-transaction=TRUE --user=root --password=root --host=127.0.0.1 --protocol=tcp --port=3306 --