当前位置: 首页 > news >正文

pythom导出mysql指定binlog文件

要求

要求本地有py环境和全局环境变量

先测试直接执行binlog命令执行命令

Windows 本地直接执行命令

# E:\output>E:\phpstudy_pro\Extensions\MySQL5.7.26\bin\mysqlbinlog binglog文件地址
# --no-defaults 不限制编码
# -h mysql链接地址
# -u mysql 链接名称
# -p mysql 密码
# -P3306 mysql 端口
# --read-from-remote-server  --raw  mysqlbinlog 命令的一个选项,它指示 mysqlbinlog 从远程 MySQL 服务器读取二进制日志文件进行解析。
# binlog.000003 文件地址#命令如下E:\output>E:\phpstudy_pro\Extensions\MySQL5.7.26\bin\mysqlbinlog --no-defaults -h 127.0.0.1 -u root -p -P3306 --read-from-remote-server --raw binlog.000003

代码

import subprocessdef download_binlogs(host, user, password, port, start_binlog, end_binlog, output_path):try:for binlog_number in range(start_binlog, end_binlog + 1):binlog_filename = f"binlog.{str(binlog_number).zfill(6)}"output_filename = f"{output_path}/binlog_{binlog_number}.sql"# 构建命令command = ['E:/phpstudy_pro/Extensions/MySQL5.7.26/bin/mysqlbinlog.exe','--no-defaults','-h', host,'-u', user,'-p' + password,'-P' + str(port),'--read-from-remote-server','--raw',binlog_filename]# 运行命令并将输出重定向到文件with open(output_filename, 'w') as output_file:subprocess.run(command, stdout=output_file)output_file.flush()  # 刷新缓冲区print(f"Binlog日志文件 '{binlog_filename}' 下载成功!保存为 '{output_filename}'")except Exception as e:print(f"下载失败:{e}")if __name__ == "__main__":# 替换以下信息为实际的Polardb连接信息和binlog文件范围polardb_host = "127.0.0.1"polardb_user = "root"polardb_password = "root"polardb_port = 3306start_binlog_number = 1end_binlog_number = 3output_directory = "E:/output"  # 替换为你想要保存文件的目录download_binlogs(polardb_host, polardb_user, polardb_password, polardb_port, start_binlog_number, end_binlog_number, output_directory)

python执行

python .\binlog.py

相关文章:

  • 千年TGS服务器日志报错如何解决
  • 安全知识普及:什么是垃圾邮件和网络钓鱼欺诈
  • 【开源】基于JAVA的快递管理系统
  • 一个用于操作Excel文件的.NET开源库
  • 整形数据和浮点型数据在内存中的存储差别
  • 【SA8295P 源码分析 (三)】127 - 摄像头 GMSL1、GMSL2 加串-解串器 常用寄存器配置整理
  • B-2:Linux系统渗透提权
  • 猜数字优化版(带进度条)
  • 顺序表(数据结构与算法)
  • uni.app 使用 mixins 技术统一注入小程序页面分享到好友,分享朋友圈功能
  • 计算机视觉基础(6)——光流估计
  • 从0开始学习JavaScript--JavaScript 表达式与运算符
  • IIC总线概述和通信时序代码详细图文解析
  • 什么是UV贴图?
  • npm报错
  • cookie和session
  • Java到底能干嘛?
  • JS变量作用域
  • maven工程打包jar以及java jar命令的classpath使用
  • PHP 7 修改了什么呢 -- 2
  • Terraform入门 - 1. 安装Terraform
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Web设计流程优化:网页效果图设计新思路
  • zookeeper系列(七)实战分布式命名服务
  • 安装python包到指定虚拟环境
  • 讲清楚之javascript作用域
  • 蓝海存储开关机注意事项总结
  • 让你的分享飞起来——极光推出社会化分享组件
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 如何设计一个比特币钱包服务
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 三栏布局总结
  • 使用SAX解析XML
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • ​iOS实时查看App运行日志
  • ​ubuntu下安装kvm虚拟机
  • #Linux(权限管理)
  • (¥1011)-(一千零一拾一元整)输出
  • (C++17) std算法之执行策略 execution
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (三)elasticsearch 源码之启动流程分析
  • (原創) 物件導向與老子思想 (OO)
  • (转)重识new
  • ***测试-HTTP方法
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET 服务 ServiceController
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET成年了,然后呢?