mysqlbinlog命令必备知识
MySQLbinlog 命令以用户可视的方式展示出二进制日志中的内容。同时,也可以将其中的内容读取出来,供其他MySQL实用程序使用。
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了元宝免费建站欢迎大家使用!
1. 获取当前二进制日志列表
SHOW BINARY LOGS;或 SHOW MASTER LOGS; |
2. 获取特定数据库条目
mysqlbinlog -d databasename mysqld-bin.000001 > data.sql 同--database |
3. 禁止恢复过程产生日志
mysqlbinlog -d -D databasename mysqld-bin.000001 > data.sql 效果:在输出第二行会添加SQL_LOG_BIN=0 需root权限 |
4. 在输出中控制base-64 BINLOG
四个可选项: auto:默认 never:不显示类似的行BINLOG'IeZ4WQ8BAAAAZgAAABAA decode-rows:基于行的事件解码成一个SQL语句,特别是当指定-verbose选项时 例:mysqlbinlog --base64-output=decode-rows --verbose mysqld-bin.000001 always:(5.7用unspec)只显示了BINLOG项 |
5. 跳过前N个条目
-o指定跳过前多少个条目 mysqlbinlog-o10000mysqld-bin.000001 |
6. 保存输出到文件
两种方法,重定向和-r: mysqlbinlog -r output.log mysqld-bin.000001 --server-id= 指定是是由给定服务器生成的日志 mysqlbinlog--server-id=1-routput.logmysqld-bin.000001 |
7. 从一个特定位置提取条目
从指定位置开始读:--start-position/-j mysqlbinlog-j15028mysqld-bin.000001>from-15028.out 读到结束位置: mysqlbinlog--stop-position=15028mysqld-bin.000001>upto-15028.out |
8. 刷新日志以清除Binlog输出
如日志中出现Warning: this binlog is either in use or was not closed properly 是因为二进制日志没有被正确的关闭,需连接mysql刷新日志mysql>flushlogs; |
9. 在输出中只显示语句
不显示附加信息要加选项 -s / --short-form |
10.查看特定时间的条目
根据时间截取 --start-datetime --stop-datetime 例:mysqlbinlog--stop-datetime="2017-08-16 15:00:00"mysqld-bin.000001 |
11. 获取远程服务器二进制日志
读取远程的二进制日志示例: mysqlbinlog-R-h192.168.101.2-pmysqld-bin.000001 |
本文名称:mysqlbinlog命令必备知识
分享URL:http://hbruida.cn/article/ipccoe.html