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恢复数据库的主要内容,如果未能解决你的问题,请参考以下文章