之前一直想学习一下Mysql的备份与恢复,今天整理一下
一、环境说明
Mysql 版本:5.7.17-log
OS:Win7
二、备份
首先查看是否开启了mysql的binlog
执行
show variables like 'log_bin';
或者
show binary logs;
都可以查看是否开启了binlog,如果第一种方式查看,如果value为OFF则是没有开启binlog。(mysql默认是不启动binlog的)。
启动bin-log(如果启动了请忽略这段)
如果Mysql安装方式为默认安装目录,则去修改C:\ProgramData\MySQL\MySQL Server 5.7下的my.ini文件。
在其中搜索# Binary Logging.
修改为
# Binary Logging.
log-bin=mysql-levin-bin
binlog-format=Row
或者
# Binary Logging.
log-bin=E:\Mysql-binlog\mysql-levin-bin
binlog-format=Row
PS:
第一种为将binlog生成到 C:\ProgramData\MySQL\MySQL Server 5.7\Data 目录下,文件格式为
mysql-levin-bin.000001,mysql-levin-bin.index这种。
第二种为指定生成目录为 E:\Mysql-binlog 下,文件格式相同。
配置后保存并重启mysql。
三、恢复数据
在binlog存放目录下执行下面命令,会将指定日期的binlog的二进制文件转换成sql
mysqlbinlog --start-datetime="2017-07-07 01:00:00"
--stop-datetime="2017-08-08 00:00:00"
mysql-levin-bin.000001 >1.sql
将生成的sql文件进行导入
mysql –uroot –proot -Dtest<1.sql
常用命令
查看二进制文件列表和文件大小
show master logs;
或者
show binary logs;