gpt4 book ai didi

mysql - 使用校验和仅下载 MySQL 中已更改的表

转载 作者:行者123 更新时间:2023-11-29 10:44:53 25 4
gpt4 key购买 nike

我想下载 MySQL 数据库 (InnoDB) 的副本以在本地使用。由于数据库增长很快,我想找到一种方法来加快这个过程并节省带宽。

我使用此命令将数据库复制到我的本地计算机 (Ubuntu):

ssh myserver 'mysqldump mydatabase --add-drop-database | gzip' | zcat | mysql mydatabase

我添加了多个 --ignore-tables 来忽略不需要更新的表。

我已经有了数据库的(过时的)版本,因此不需要下载所有表(有些表几乎没有改变)。我正在考虑对每个表使用校验和,并将未更改的表添加到--ignore-tables

由于我找不到很多使用checksumsmysqldump的示例,我很聪明(不太可能)或者有更好的下载方法(或更好:以智能方式单向同步)数据库。

数据库复制不是我想要的,因为这需要二进制日志。这有点过分了。

单向同步数据库并忽略未更改的表的最佳方法是什么?

最佳答案

一种解决方案是使用 mysqldump --tab 选项。 mysqldump delimited

mkdir /tmp/dbdump
chmod 777 /tmp/dbdump
mysqldump --user=xxx --password=xxx --skip-dump-date --tab=/tmp/dbdump database

然后使用 rsync 和 --checksum 将更改的文件发送到目标。运行创建脚本,然后使用 LOAD DATA INFILE 加载数据

关于mysql - 使用校验和仅下载 MySQL 中已更改的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44779919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com