Linux通过MySQL二进制日志binlog恢复数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux通过MySQL二进制日志binlog恢复数据库相关的知识,希望对你有一定的参考价值。

Linux通过mysql二进制日志binlog恢复数据库

进入mysql

查看mysql日志是否启动

进入mysql

mysql>show variables like‘log_%‘;

 

linux下二进制日志设置方法如下

在 /etc/my.cnf文件中【mysqld】下加入

server-id = 1

log-bin = binlog

log-bin-index = binlog.index

binlog日志文件默认在/var/lib/mysql下

查看binlog日志文件命令

mysqlbinlog binlog.000001

查看binlog文件,过滤错误操作,例如第2586行中有删除数据表操作,就要用2586前的sql语句

 

方法如下

mysqlbinlog --stop-position=”2586” /var/lib/mysql/ binlog.000001 >~/nn/ backup_001.sql

还原

mysql –u root –p nsq_name < ~/nn/backup_001.sql

注意一定注意空格和大小写

另:

Linux备份数据库

1.备份 

1 [[email protected] ~]# mysqldump -u root -p mysql > ~/mysql.sql  #把数据库mysql备份到家目录下命名为mysql.sql

2 Enter password:

3 [[email protected] ~]# ls ~/mysql.sql

/root/mysql.sql

2.还原

 [[email protected] ~]# mysql -u root -p web < ~/web.sql  #把web.sql导入数据库web

 

常用binlog日志操作命令

1.查看所有binlog日志列表
      mysql> show master logs;
2.查看master状态,即最后(最新)一个binlog日志的编号名称,及其最后一个操作事件pos结束点(Position)值 mysql> show master status;
3.刷新log日志,自此刻开始产生一个新编号的binlog日志文件 mysql> flush logs;
注:每当mysqld服务重启时,会自动执行此命令,刷新binlog日志;
在mysqldump备份数据时加 -F 选项也会刷新binlog日志;
4.重置(清空)所有binlog日志 mysql> reset master;





以上是关于Linux通过MySQL二进制日志binlog恢复数据库的主要内容,如果未能解决你的问题,请参考以下文章

mysql使用二进制日志恢复数据

MySQL二进制日志(binlog)

mysql数据更新后不可以通过binlog撤销恢复么

mysql数据库通过bin-log日志恢复数据

Mysql之binlog日志说明及利用binlog日志恢复数据操作记录

MYSQL binlog 日志内容查看