环境:mysql
要备份的数据库ip为 192.168.28.1 帐户 test1 ,密码 123456sql
本地数据库ip 为 192.168.28.2 帐户 test1 ,密码 123456数据库
全备份分为设置数据库主从同步和没设置主从同步ide
备份设置主从同步的数据库:(back_full.bat)spa
@echo off.net
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%.sqlorm
rem 参数介绍:ip
rem flush_logs: 刷新二进制日志,会新创建并启用一个二进制日志文件rem
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
备份没设置主从同步的数据库:(back_full.bat)
@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
数据还原:(recover.bat)
@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