mysql centos登录日志文件_[原创]CentOS下Mysql的日志回滚

一、环境:

a)        Centos-6.5-x64位操作系统。

b)        安装mysql。命令:yum install mysql*

二、配置

a)        配置/etc/my.cnf文件

[mysqld]

Log-bin=bin-log   //配置开启日志功能

三、实现

查看/var/lib目录下没有类似bin-log.000001的日志文件。

登录mysql执行:flush logs;//刷新日志,再查看则有日志文件了,此时若没有再执行flush logs和重启mysql,那么一切对mysql的操作都将记录在刷新后出现的日志文件中。命令:mysqlbinlog –no-defaults bin-log.000001 | more

登录mysql,创建表和插入一系列测试数据作为要恢复的对象。再执行一次flush logs,生成bin-log.000002日志文件。然后将数据和表删除。

现在将数据恢复。开启另一个终端,执行命令:

Mysqlbinlog –no-defaults bin-log.000001 | mysql –u root –p

回车输入root密码。返回查看,表和数据均已恢复。

四、mysqlbinlog语法:基于时间(date)和位置(position)的恢复

1.定位: --start-position 开始点

--stop-position 结束点

--start-date 开始时间

--stop-date  结束时间

2.例:

Mysqlbinlog –no-defaults –start-position pos值 –stop-position pos值 bin-log.000001 | mysql –u root –p

注:定位关键字可以配对使用也可单独使用,实现现象略。

附加一个数据库TPS,QPS实时监控的脚本。

#cat mysql_nmon.sh

#!/bin/sh

mysqladmin -uroot -p'password' -hhost_ip -P3306 extended-status -i1|awk 'BEGIN{local_switch=0;print "QPS   Commit Rollback   TPS    Threads_con Threads_run \n-------------------------------------------------------- "}

$2 ~ /Queries$/            {q=$4-lq;lq=$4;}

$2 ~ /Com_commit$/         {c=$4-lc;lc=$4;}

$2 ~ /Com_rollback$/       {r=$4-lr;lr=$4;}

$2 ~ /Threads_connected$/  {tc=$4;}

$2 ~ /Threads_running$/    {tr=$4;

if(local_switch==0)

{local_switch=1; count=0}

else {

if(count>10)

{count=0;print "-------------------------------------------------------- \nQPS   Commit Rollback   TPS    Threads_con Threads_run \n-------------------------------------------------------- ";}

else{

count+=1;

printf "%-6d %-8d %-7d %-8d %-10d %d \n", q,c,r,c+r,tc,tr;

}

}

}'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值