mysqlbinlog命令详解 Part 6 读取远程MySQL服务器日志
实验环境
此次实验的环境如下
- MySQL 5.7.25
- Redhat 6.10
- binlog模式采用row模式
前面的一些章节我们对mysqldump常用命令进行了讲解
这个专题的内容为mysqlbinlog命令的详解
mysqlbinlog是MySQL中用来处理binlog的工具
这节内容讲如何读取远程MySQL服务器日志
1. mysqlbinlog连接参数
使用 --read-from-remote-server 读取远程数据库日志,而不是读取本地文件
或者 -R 参数
当然我们可以用他来连接本地数据库来读取日志文件
需要搭配如下连接参数来使用
- --host
- --password
- --port,
- --protocol
- --socket
- --user
注意如果没有--read-from-remote-server 参数,则上面的连接参数被忽略
这个参数需要远程数据库开启,而且只能读取binlog,不能读取relay log
连接的用户需要有连接远程数据库的权限
2. 连接远程数据库日志(读取后断开)
mysqlbinlog --read-from-remote-server --host 11.12.14.29 --user system --password --port 3306 --protocol=tcp -vv mysql-bin.000001
命令执行后提示输入密码,之后即可看到binlog内容
注意需要加上binlog文件名称,不要使用绝对路径
我们同样可以使用start_position start_datetime 等参数来指定读取log的区间
我们可以使用--result-file参数指定输出到文件
mysqlbinlog --read-from-remote-server --host 11.12.14.29 --user system --password --port 3306 --protocol=tcp -vv mysql-bin.000001 --result-file=/tmp/output.sql
3. 持续读取远程数据库日志
上面的命令执行完成后退出mysqlbinlog命令行
我们可以使用--stop-never参数来持续读取远程数据库的日志
mysqlbinlog --read-from-remote-server --host 11.12.14.29 --user system --password --port 3306 --protocol=tcp --stop-never -vv mysql-bin.000001
命令执行后提示输入密码,之后即可看到binlog内容
该参数会默认加上--to-last-log参数,即mysqlbinlog会自动一直读取到远程数据库的最后一个日志文件
这时如果远程数据库有操作,则会持续显示出来
我们可以使用--result-file参数指定输出到文件
mysqlbinlog --read-from-remote-server --host 11.12.14.29 --user system --password --port 3306 --protocol=tcp --stop-never -vv mysql-bin.000001 --result-file=/tmp/output.sql
4. 参考链接
https://dev.mysql.com/doc/refman/5.7/en/mysqlbinlog.html
好了 今天的内容就说到这里,下节再见
- DevOps Tools
- Docker 虚拟机之 Redis
- Spring boot with HTTPS SSL
- Spring boot with Git version
- Spring boot with Elasticsearch 5.5.1
- 怎样将 MySQL 数据表导入到 Elasticsearch
- Spring data 数据库建表(一对一,一对多,多对多)
- Apache Sqoop 将mysql导入到Hadoop HDFS
- Redis 4.0.0 一键安装脚本,CentOS 7 systemd 完美启动
- Spring boot with Apache Hive
- Apache Hive 快速入门
- CentOS 7.3 + Server JRE 1.8 + Hadoop-2.8.0
- Apache Hbase 快速入门
- Mototrbo TMS 协议分析(数字电台短信协议分析)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Leetcode 第23场双周赛A 5360. 统计最大组的数目 (手速题,map)
- Java 水题系列(4)数组合并
- SpringBoot 整合 SpringDataJPA
- Codeforces Beta Round #51 C. Pie or die(博弈 思维)
- SpringDateJPA 系列之 JPA 中的相关操作
- python Turtle 画出“精美碎花小清新树”快来拿代码!
- SpringDataJPA 系列之 JPA 简介
- Leetcode 264. 丑数 II (数论,三指针,类dp)
- Leetcode 628. 三个数的最大乘积 (数学)
- Vue 组件化开发
- Spring Boot 基础配置
- 读懂 Java 单例模式
- 数值分析第一次实习题报告
- Leetcode 409. 最长回文串 (Hash)
- Vue 前后端交互基础