0

我有一个中央服务器和几个(大约 50 个)远程服务器。我想每晚将一些日志数据从每台服务器传输到中央服务器。它们都运行 Linux,日志存储在 MySQL 中。我对所有服务器都有 ssh 访问权限。

将数据从远程服务器传输到中央服务器的最佳(最简单、最安全、最可靠……)的做法是什么?

谢谢

4

3 回答 3

1

根据您的需要和您想要投入的时间,我一直在使用这个脚本来备份数据库。

这是一种经过试验和测试的低成本策略,非常灵活且非常可靠。

于 2011-12-01T21:13:57.433 回答
0

您可以将新行导出到 csv 文件。像这样:

SELECT id, name, email INTO OUTFILE '/tmp/result.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY ‘\\’
LINES TERMINATED BY '\n'
FROM users WHERE timestamp > lastExport

然后通过 scp 传输它并通过mysqlimport将其导入 如果数据库是 innoDB,您应该导入第一个引用的表。

于 2011-12-01T21:16:39.273 回答
0

一般来说,最简单的方法是使用 mysqldump 转储它并将其重新加载到所有重复的服务器上。您可以使用 mysqldump 的许多选项中的一些来控制诸如锁定、MVCC 快照、哪些表和其他选项之类的事情。

CSV 比 mysqldump 更难,因为您需要确保就如何终止字段、如何转义等达成一致。

于 2011-12-02T07:53:43.663 回答