开启bin-log日志
vi /etc/my.cnf 增加bin-log=mysql-bin
#binlog日志的文件是存放在data目录中所以 要在此设置一下datadir这个属性
datadir = /var/lib/mysql/data 注意:data目录是后期自己建上去的,必须建这个目录
查看mysql-binlog日志: show variables like "%bin%"; log-bin后面如果为on那说明bin-log日志开启成功
ls /var/lib/mysql 其中mysql-bin.00001为二进制日志文件
bin-log日志更新
flush logs;此时就会生成一个最新的bin-log日志
show master status;查看最后一个bin日志
reset master;清空所有的bin-log日志
此案例为把mysql-bin.000002日志文件里面记录的操作产生的数据恢复到test数据库中
/usr/bin/mysqlbinlog --no-defaults mysql-bin.000002|mysql -uroot -p test
/usr/bin/mysqlbinlog --start-position="50" --stop-position="100" mysql-bin.000001 | mysql -uroot -p123 test【把mysql-bin.000001的50-100行的记录恢复到test数据库,除此之外还可以有--stop-date=""】
--start-position="50" --stop-position="100"可以单独使用
--stop-date="2014-01-01 11:11:11"
--start-date="2014-01-01 11:11:11"
这个操作需要进入到/var/lib/mysql/data 存放二进制目录文件的里面才能执行
mysql备份
mysqldump -uroot -p test -l -F>/tmp/test.sql 【备份test数据库到test.sql文件里 -l 代表读锁 -F代表flush logs】
mysql恢复
mysql -uroot -p test -v -f < /tmp/test.sql【从test.sql恢复数据记录-v 代表查看导入信息 -f代表忽略错误】