• ADADADADAD

    mysqlbinlog命令必备知识[ mysql数据库 ]

    mysql数据库 时间:2024-12-03 10:29:58

    作者:文/会员上传

    简介:

    mysqlbinlog 命令以用户可视的方式展示出二进制日志中的内容。同时,也可以将其中的内容读取出来,供其他MySQL实用程序使用。1. 获取当前二进制日志列表SHOW BINARY LOGS;或SHO

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    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 -o 10000 mysqld-bin.000001

    6. 保存输出到文件

    两种方法,重定向和-r:

    mysqlbinlog -r output.log mysqld-bin.000001

    --server-id= 指定是是由给定服务器生成的日志

    mysqlbinlog --server-id=1 -r output.log mysqld-bin.000001

    7. 从一个特定位置提取条目

    从指定位置开始读:--start-position/-j

    mysqlbinlog -j 15028 mysqld-bin.000001 > from-15028.out

    读到结束位置:

    mysqlbinlog --stop-position=15028 mysqld-bin.000001 > upto-15028.out

    8. 刷新日志以清除Binlog输出

    如日志中出现Warning: this binlog is either in use or was not closed properly

    是因为二进制日志没有被正确的关闭,需连接mysql刷新日志mysql> flush logs;

    9. 在输出中只显示语句

    不显示附加信息要加选项 -s / --short-form

    10.查看特定时间的条目

    根据时间截取 --start-datetime--stop-datetime

    例:mysqlbinlog --stop-datetime="2017-08-16 15:00:00" mysqld-bin.000001

    11. 获取远程服务器二进制日志

    读取远程的二进制日志示例:

    mysqlbinlog -R -h 192.168.101.2 -p mysqld-bin.000001

    mysqlbinlog命令必备知识.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载