将MySQL数据传输到另一台服务器

时间:2011-12-01 21:02:02

标签: mysql linux server-administration

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

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

感谢

3 个答案:

答案 0 :(得分:1)

根据您的需求和您想要投入的时间,我长期使用this script来备份数据库。

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

答案 1 :(得分: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,您应该导入第一个引用的表。

答案 2 :(得分:0)

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

CSV比mysqldump更难,因为你需要确保你同意如何终止字段,如何逃避等。