从远程数据库拉取binlog并转为sql

  1. 从远程数据库拉取binlog
    命令示例:mysqlbinlog -v --base64-output=DECODE-ROWS --read-from-remote-server --raw --host=x.x.x.x --port=3306 --user=root --password=123456 --stop-never mysql-bin.000001
     
    --read-from-remote-server:用于备份远程服务器的binlog。如果不指定该选项,则会查找本地的binlog。
     
    --raw:binlog日志会以二进制格式存储在磁盘中,如果不指定该选项,则会以文本形式保存,文本方式需要指定文件名称,否则打印在控制台。
     
    --user:复制的MySQL用户,只需要授予REPLICATION SLAVE权限。
     
    --stop-never:mysqlbinlog可以只从远程服务器获取指定的几个binlog,
    也可将不断生成的binlog保存到本地。指定此选项,代表只要远程服务器不关闭或者连接未断开,
    mysqlbinlog就会不断的复制远程服务器上的binlog。
     
    mysql-bin.000001:代表从哪个binlog开始复制,只有结合--stop-never才可以按顺序复制没有出现在命令行的文件(比如mysql-bin.000002,mysql-bin.000003等, 如果只是想拉取指定的几个文件,多个文件之间用空格间隔即可)。
     
    -v --base64-output=DECODE-ROWS 命令用于二进制日志文件sql命令base64的解码
     
    --database 指定数据库名称
     
    除了以上选项外,还有以下几个选项需要注意:
     
    --stop-never-slave-server-id:在备份远程服务器的binlog时,mysqlbinlog本质上就相当于一个从服务器,
    该选项就是用来指定从服务器的server-id的。默认为-1。
     
    --to-last-log:代表mysqlbinlog不仅能够获取指定的binlog,还能获取其后生成的binlog,
    获取完了,才终止。如果指定了--stop-never选项则会隐式打开--to-last-log选项。
     
    --result-file:用于设置远程服务器的binlog,保存到本地的前缀(如果没有--row,则为文件名)。譬如对于mysql-bin.000001,
    如果指定--result-file=/test/backup-,则保存到本地后的文件名为/test/backup-mysql-bin.000001。
    注意:如果将--result-file设置为目录,则一定要带上目录分隔符“/”。譬如--result-file=/test/,
    而不是--result-file=/test,不然保存到本地的文件名为/testmysql-bin.000001
     
    --raw不支持--database,--start-datetime,--end-datetime,--end-position
     
    --stop-never出现时,才是从目标文件(mysql-bin.000001)开始持续复制后续文件,否则只拉取目标文件
    ————————————————
    
                                版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                            
    原文链接:https://blog.csdn.net/lgq2016/article/details/125894942

    原文:mysqlbinlog命令介绍(远程拉取binlog日志)_mysql远程获取binlog的delete语句-CSDN博客

  2. 将binlog转为sql
    mysqlbinlog  --base64-output=decode-rows -v  binlog日志文件 -d 需要查询的数据库 > 文件名.sql

  • 25
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要将远程分支的资源到本地,可以使用Git的fetch命令。fetch命令会将远程仓库中的所有分支信息更新到本地的仓库中。 在命令行中,可以使用以下命令远程分支的资源: git fetch origin 上述命令将会从名为"origin"的远程仓库中最新的分支信息。"origin"是通常默认给远程仓库命名的名称,您也可以根据需要将其替换为其他远程仓库的名称。 执行完fetch命令后,远程分支的资源将会被下载到本地仓库的隐藏分支中,以"origin/分支名"的形式保存。接下来,您可以使用git checkout命令将这些资源切换到本地分支上: git checkout 分支名 上述命令将会将"origin/分支名"的资源切换到本地分支上,使您可以在本地进行修改和提交。 如果您想要直接将远程分支的资源合并到当前的本地分支上,可以使用git merge命令: git merge origin/分支名 上述命令将会将"origin/分支名"的资源合并到当前的本地分支上。 总之,使用git fetch命令可以从远程分支资源到本地仓库,通过git checkout或git merge命令可以将这些资源切换或合并到本地分支上,从而实现与远程分支的同步。 ### 回答2: Git 是一款分布式版本控制系统,它允许我们在本地和远程仓库之间进行代码的同步和管理。当我们需要从远程分支资源时,可以按照以下步骤进行操作: 1. 确定远程分支的名称:在使用 Git 之前,我们需要确定要从哪个远程分支资源。可以使用 `git remote -v` 命令查看当前远程仓库的信息,其中列出了所有的远程仓库名称和对应的 URL。 2. 切换到本地分支:在远程分支之前,我们需要切换到我们要资源的本地分支。可以使用 `git branch` 命令查看当前本地分支的列表,并使用 `git checkout` 命令切换到目标分支。 3. 远程分支:使用 `git pull remote-name branch-name` 命令将远程分支的资源到当前本地分支。其中,`remote-name` 是远程仓库的名称,`branch-name` 是远程分支的名称。 4. 解决冲突:当本地分支与远程分支存在冲突时,Git 会自动提示冲突的文件和具体位置。我们需要手动解决这些冲突,删除冲突标记,并保留我们需要的代码。解决完冲突后,可以使用 `git add` 命令将文件标记为已解决。 5. 提交更新:在资源后,我们需要将更新提交到本地仓库。可以使用 `git commit` 命令将更改保存到本地仓库,需要添加相应的提交信息。 6. 推送到远程仓库:如果想要将本地仓库的更新同步到远程仓库,可以使用 `git push remote-name branch-name` 命令将更新推送到目标远程分支。注意,可能需要提供相应的访问权限,例如用户名和密码或者 SSH 密钥。 总结起来,从远程分支资源包括确定远程分支名称、切换到目标本地分支、远程分支的资源、解决冲突、提交更新以及推送到远程仓库等步骤。通过这样的操作,我们可以实现本地代码与远程仓库的同步和管理。 ### 回答3: 要从远程分支资源,可以使用git的fetch命令。fetch命令会将远程分支中最新的提交和变更下载到本地,但并不会自动合并到当前工作分支。 使用以下命令可以远程分支的资源: ``` git fetch <远程库名> <远程分支名> ``` 其中,<远程库名>表示远程仓库的名称,通常为origin;<远程分支名>表示要的远程分支名称。 例如,如果要从origin远程库的master分支资源,可以使用以下命令: ``` git fetch origin master ``` 运行该命令后,git会从远程仓库下载最新的提交和变更到本地的origin/master分支。但这并不会影响当前所在的工作分支。 如果需要将远程分支的更新合并到当前工作分支,可以使用git的merge命令。例如,如果当前工作分支为dev,可以使用以下命令合并origin/master分支的更新: ``` git merge origin/master ``` 这样,当前工作分支dev就会包含来自origin/master的最新提交和变更。 总结起来,要从远程分支资源,首先使用fetch命令将远程分支的更新下载到本地分支,然后可以使用merge命令将更新合并到当前工作分支。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值