如何读取mysql日志获取sql

如何读取mysql日志获取sql,第1张

你应该说的MySQL的binlog(二进制日志)吧,她记录的内容是:任何引起或可能引起数据库变化的 *** 作 。

查询方式 :

#查询某一段时间内的日志 start-datetime(开始时间)stop-datetime(结束时间) #mysql-bin.000001日志名称

mysqlbinlog mysql-bin.000001 \

--start-datetime="2015-10-05 17:34:40" \

--stop-datetime="2015-10-05 17:34:56" >sixteensecs.sql

#查看指定位置的日志 ,start-position(开始位置) stop-position(结束位置)

mysqlbinlog --read-from-remote-server -uuser -p \

mysql-bin.000001 -h 192.168.0.182 -P 3306 \

--start-position=932 --stop-position=1132 >remote000001.sql

打开日志内容,可以看到之前 *** 作的SQL脚本(语句:增加,修改,删除)

或者 开启 general_log 日志,打印所有 *** 作SQL脚本(语句),比较消耗性能,线上环境不建议开启,只是线上有问题时临时打开测试,测试完成后再关闭 。

基于row模式的binlog,生成DML(insert/update/delete)的rollback语句

通过mysqlbinlog

-v

解析binlog生成可读的sql文件

提取需要处理的有效sql

"###

"开头的行.如果输入的start-position位于某个event

group中间,则会导致"无法识别event"错误!

在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看: mysqldump 最常用的: mysqldump -uroot -pmysql databasefoo table1 table2 >foo.sql 这样就可以将数据库databasefoo的表table1,table2以sql形式导入foo.sql...


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8564651.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-18
下一篇2023-04-18

发表评论

登录后才能评论

评论列表(0条)

    保存