Home > Database > Mysql Tutorial > mysql恢复数据功能一些笔记_MySQL

mysql恢复数据功能一些笔记_MySQL

WBOY
Release: 2016-06-01 13:31:11
Original
974 people have browsed it

bitsCN.com

mysql恢复数据功能一些笔记

 

很多童鞋在备份还原数据库的时候都用过mysqldump,source功能,但是本人感觉操作相当不方便,看不到所有对数据库的操作,备份不及时。说不定某个程序员来一个del,某个备份时间定后面的数据想找也找不回来了,查了一下资料利用mysql日志可以很好解决前面问题,优点:是想恢复到某个时间点,或某个操作sql语句,缺点:就产生庞大的日志文件.下面是我在自己window服务下操作过程:

1.开启mysql日志

在my.ini 文件里找到[mysqld],在其下面增加一行log-bin

 

Ruby [mysqld]  # The TCP/IP Port the MySQL Server will listen on  port=3306  log-bin  
Copy after login

默认日志文件名字是以主机命名名字,如果想改为自己定义的名字

Python [mysqld]  # The TCP/IP Port the MySQL Server will listen on  port=3306  #mysql-bin为自定义名字  log-bin = mysql-bin  
Copy after login

2.定义日志文件路径

Ruby #Path to the database root存放日志的路径  datadir="D:/web/mysql/Data/"  
Copy after login

3.重启mysql

在上面的路径下会产生两个文件

mysql恢复数据功能一些笔记_MySQL

4.用命令进入mysql

mysql> show binlog events ;
Copy after login

你会看到类似这样的界面:

mysql恢复数据功能一些笔记_MySQL

上面pos就是开始位置end_log_pos的结束位置

相关命令:

1.查看当前日志开启情况mysql>show variables like 'log%';2.查看当前日志情况mysql>show master status;3.显示当前二进制mysql>show binary logs;
Copy after login

5.恢复有两种:

1.是把日志文件保存成sql文件,再用source命令定位保存用法:在mysql安装bin的目下:mysqlbinlog --start-position=4 --stop-position=239 d:/web/mysql/data/ mysqlbin-log.000001 >test1.txt定时间保存用法:在mysql安装bin的目下mysqlbinlog --start-datetime="2013-03-16 13:00:00" --stop-datetime="2013-03-16 14:00:00" d:/web/mysql/data/ mysqlbin-log.000001 >test1.txt再source test1.txt2.直接把日志恢复到某个点上定时间还原法:在mysql安装bin的目下mysqlbinlog --start-datetime="2013-03-16 13:00:00" --stop-datetime="2013-03-16 14:00:00" d:/web/mysql/data/ mysqlbin-log.000001 | mysql -uroot -p定位还原法:在mysql安装bin的目下 D:/web/mysql/bin>mysqlbinlog --start-position=3696 --stop-position=4241 d:/web/ysql/data/mysql-bin.000001 | mysql -hlocalhost -uroot -p
Copy after login

 

PS:如果在创建表和操作表的过程有错误,在还原的时候也是会有错误的,那得部分定位来还原。(下面是我操作过程中一个小报错,Duplicate entry '1' for key 1

去掉auto_increment,或者不要给有auto_increment的字段赋值便可解决),有兴趣的朋友可以简单创建一个表,增加数据,然后删除数据,利用上面步骤看看哈^V^

 

bitsCN.com
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template