首页 > 数据库 >mysql日志追踪 / 数据恢复

mysql日志追踪 / 数据恢复

时间:2023-08-28 19:33:29浏览次数:62  
标签:数据恢复 show -- sed binlog mysql 日志

1. 查看日志开启状态

  show variables like 'log_%';

2. 查看日志文件列表

  show binary logs;或者show master logs;

3. 查看当前日志index位置

  show master status;

4. 查看binlog关键事件

  show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];

  例如,show binlog events in 'mysql-bin.000002' from 624 limit 2,10;

5. 提取日志数据(2选1)

  1)mysqlbinlog --database=DBName --base64-output=decode-rows --set-charset=utf8 --no-defaults -v mysql-bin.000720 --start-datetime="2018-09-12 18:45:00" --stop-datetime="2018-09-12:18:47:00"(通过时间定位数据区间)

  2)mysqlbinlog --database=DBName --base64-output=decode-rows --set-charset=utf8 --no-defaults -v mysql-bin.000720 --start-position=450 --stop-position=900(通过index定位数据区间)

6. 将delete语句转换为insert语句(shell脚本)

  sed -n '/###/p' | sed 's/### //g;s/\/\*.*/,/g;s/DELETE FROM/;INSERT INTO/g;s/WHERE/VALUE(/g;' | sed 's/@1=//g'| sed 's/@[1-9]=/,/g' | sed 's/@[1-9][0-9]=/,/g' | sed 's/ \+/ /g'|sed ":a;N;s/\,\n ,/\n,/g;s/\,\n;/);/g;ta"|sed  '0,/;/s/;//'|sed '$ s/.$/);/'

标签:数据恢复,show,--,sed,binlog,mysql,日志
From: https://www.cnblogs.com/hyssong/p/17663176.html

相关文章

  • MySQL online DDl原理
    onlineDDL从5.6开始,不阻塞DML但是会阻塞所有的DDL,online有三种模式:INSTANT(8.0.12),INPLACE(rebuild),INPLACE(no-rebuild),具体操作如下:1、只修改表的元数据信息删除二级索引修改索引名(5.7)修改字段名设置(删除)字段的默认值增加varchar长度,如果表示字符串长度的字节数变化则会使用c......
  • 《MySQL命令行客户端》的使用方法
    MySQL客户端连接工具有多种,但最常用的是MySQL命令行客户端。下面是MySQL命令行客户端的语法:mysql-hhostname-uusername-ppassword-Ddatabase_name其中:-h 参数指定要连接的MySQL服务器的主机名或IP地址。-u 参数指定要连接的MySQL服务器的用户名。-p 参数提示输......
  • MySqlBulkCopy 批量新增数据
    MySqlConnector有个MySqlBulkCopy批量新增数据方法,不过只能用DataTable,需要把list转成DataTable代码如下:MySqlBulkCopymySqlBulkCopy=newMySqlBulkCopy(conn){DestinationTableName="userinfo"};mySqlBulkCopy.ColumnMappings.AddRange(table.Columns.Cast<DataC......
  • 无法对表进行任何操作了,mysql
    现象:无法对表进行任何操作,比如truncatetable,比如select,一直处于等待状态。看起来像是表被锁了。 解决过程:1.查询占用中的查询:showOPENTABLESwhereIn_use>0;结果是0行数据,表明没有任何查询在占用。2.查询当前的所有事务select*frominformation_schema.in......
  • MySQL 8.0字符集校正
    MySQL升级为8.0版本时,之前版本的字符集往往是不同的,需要校正。执行下面的三个SQL语句的查询结果,可以从库、表、列三个层面对字符集进行校正。库selectconcat('alterdatabase',schema_name,'defaultcharactersetutf8mb4collateutf8mb4_general_ci;')frominform......
  • dapper mysql 批量新增修改
    dapper是C#程序员比较喜欢用的轻量级ORM,简单易学,只是没有批量新增以及修改(收费版有),写了如下扩展///<summary>///dapperMySQL批量新增修改扩展///</summary>publicstaticclassDapperExtensions{///<summary>///批量插入......
  • 服务器数据恢复-IBM服务器reiserfs文件系统数据恢复案例
    服务器数据恢复环境:一台IBMX系列服务器,4块SAS硬盘组建一组RAID5阵列,采用的reiserfs文件系统。服务器操作系统分区结构:boot分区+LVM卷+swap分区(按照前后顺序)。LVM卷中直接划分了一个reiserfs文件系统,作为根分区。服务器故障:服务器在运行过程中由于未知原因瘫痪,管理员将服务器重......
  • Nginx 日志分析
    常用分析命令1、根据访问IP统计UVawk'{print$1}'paycenteraccess.log|sort-n|uniq|wc-l2、查询访问最频繁的IP(前10)awk'{print$1}'/var/log/nginx/access.log|sort-n|uniq-c|sort-rn|head-n103、查看某一时间段的IP访问量(1-8点)awk'$4>="[25......
  • 使用MySQL命令行新建用户并授予权限的方法
    MySQL命令行能否实现新建用户呢?答案无疑是肯定的。而且在使用使用MySQL命令行新建用户后,还可以为用户授予权限。首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。用户:phplamp用户数据库:phplampDB1.......
  • Linux下MySql开放访问权限
    在Linux下安装完数据库后,局域网内无法访问。 设置方法:1.停止mysql,进入/etc/mysql/,编辑my.cnf,找到bind-address的配置,改为0.0.0.0,然后启动mysql2.登录mysql,进入mysql数据库,执行updateusersethost='%'wherehost='127.0.0.1'anduser='root',执行完成后再使用命令flushprivileg......