如何使用基于binlog的Ansible Playbook实现'incremental backup with 1 hour timing'期mysql?

How can I achieve 'incremental backup with 1 hour timing' period in mysql using Ansible Playbook based on binlog?

我有两台服务器。主持复制的主从。复制过程运行良好。在这里,我想每隔一小时使用 "incremental dump" 选项并将其上传到 s3 存储桶或另一台服务器或本地机器(控制机器)。从 mysql 文档中,我有信心使用 binlogfile 完成此操作。但是我不知道从哪里开始。

我正在按照下面给出的步骤进行操作。但是我不知道 binlog 文件如何只改变相当于增量转储,即使它有我们在数据库中所做的所有查询。

I wants to take dump from slave db. How that will take dump exactly one hour time period. How can I achieve that? 

我的复制代码在这里。

sudo mysql -uroot -p'Pass@123' --connect-expired-password -e "CREATE TABLE db_test.mytable (name VARCHAR(100));"
sudo mysql -uroot -p'Pass@123' --connect-expired-password -e "INSERT INTO db_test.mytable (name) VALUES ('ANSIBLE');"
sudo mysql -uroot -p'Pass@123' --connect-expired-password -e "FLUSH TABLES WITH READ LOCK;"
sudo mysql -uroot -p'Pass@123' --connect-expired-password -e "SHOW MASTER STATUS;"
sudo mysql -uroot -p'Pass@123' --connect-expired-password -e "unlock tables;"
sudo mysql -uroot -p'Pass@123' --connect-expired-password -e "drop database db_test;"
sudo mysql -uroot -p'Pass@123' --connect-expired-password -e "DROP TABLE IF EXISTS db_test.mytable;"
-get master
-adding values to dummy host
-changemaster using dummyhost value 
-starting slave

终于找到解决办法了。

  • Flush binary logs [已创建新的二进制日志文件]
  • 通过使用 binlog.index 文件,找到以前的二进制文件。将该文件复制到我要上传的位置。那是转储文件,我从那个文件中得到的数据得到了恢复。
  • 按当前时间戳名称值保存的文件。
  • 使用 crontab -e 文件完成自动化。
  • 1 */1 * * * 是用于时间安排的值。[每小时的第一分钟]