我有两台服务器。主服务器和从属服务器进行复制。复制过程运行良好。在这里,我想每隔一小时使用“增量转储”选项,并将其上传到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
答案 0 :(得分:0)
最后我找到了解决方案。
Flush binary logs
[已创建新的二进制日志文件] binlog.index
文件,找到先前的二进制文件。将该文件复制到我要上传的位置。那是转储文件,我从该文件中获得的数据已还原。crontab -e
文件完成自动化。1 */1 * * *
是用于计划时间的值。[每小时的第一分钟]