|
mysqlbinlog是MySQL数据库中的一个实用程序,它用于处理二进制日志文件(也称为“binlogs”)。这些文件包含了在MySQL服务器上发生的所有更改和操作的信息。mysqlbinlog工具可以帮助你查看、分析或者应用这些日志。
基础介绍
下面是一些关于mysqlbinlog的基本介绍:
功能
- 查看二进制日志文件的内容。
- 将二进制日志文件转换为文本格式,方便查看和理解。
- 过滤特定时间段的日志记录。
- 过滤特定数据库或表的日志记录。
常见使用场景
- 数据库故障恢复:如果数据库出现问题,可以通过mysqlbinlog将二进制日志应用到备份的数据上,从而恢复到问题发生前的状态。
- 主从复制:在主从复制中,mysqlbinlog可以在从服务器上应用主服务器的二进制日志,以保持数据的一致性。
- 审计:通过分析mysqlbinlog的输出,可以查看数据库的修改历史,进行安全审计。
使用示例
- # 查看二进制日志文件的内容
- mysqlbinlog /var/lib/mysql/binlog.000001
- # 将二进制日志文件转换为文本格式
- mysqlbinlog --base64-output=DECODE-ROWS /var/lib/mysql/binlog.000001 > binlog.txt
复制代码 以上就是mysqlbinlog的基本介绍,希望对你有所帮助。
高级技巧
- ../bin/mysqlbinlog --start-datetime="2023-12-06 09:30:00" --stop-datetime="2023-12-06 09:40:59" mysql-bin.000027
复制代码- ../bin/mysqlbinlog --base64-output=DECODE-ROWS --verbose mysql-bin.000011 > mysql-bin.000011.sql
复制代码- ../bin/mysqlbinlog --start-datetime="2023-12-06 09:30:00" --stop-datetime="2023-12-06 09:40:59" --base64-output=DECODE-ROWS --verbose mysql-bin.000027 > mysql-bin.000027.sql
复制代码
- 导出某个时间段的binlog,处理unknown variable 'default-character-set=utf8mb4',需要添加 --no-defaults
- /usr/local/mysql/bin/mysqlbinlog --no-defaults --start-datetime="2024-01-19 00:00:00" --stop-datetime="2024-01-22 00:00:59" --base64-output=DECODE-ROWS --verbose mysql-bin.000036 > mysql-bin.000036-2.sql
复制代码- /usr/local/mysql/bin/mysqlbinlog --no-defaults --start-datetime="2024-01-19 00:00:00" --stop-datetime="2024-01-22 00:00:59" --base64-output=DECODE-ROWS --verbose mysql-bin.000036 -stdout
复制代码
- 中文在vi和下载后是乱码了,但cat不是乱码,可用iconv转换
- iconv -f UTF-8 -t GBK -c mysql-bin.000036-3.sql -o mysql-bin.000036-3-2.sql
复制代码 来源:https://www.cnblogs.com/lori/p/17982809
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|