可以使用以下命令轻松地备份和恢复Matomo数据。

导出MySQL/MariaDB数据库到一个文件中

您可以使用phpMyAdmin或,mysqldump这样做。完整复制MySQL数据库最简单的方法是运行mysqldump命令,并设置如下参数:

$ time mysqldump——extended-insert——no-autocommit——quick——single-transaction MATOMO_DATABASE_NAME -uMATOMO_DATABASE_USERNAME -p > matomo_backup_database.sql

然后,我们可以压缩这个备份,然后再将它发送到备份服务器:

$ tar zcf matomo_backup_database.sql -$(date +%Y-%m-%d-%H.% m .%S).sql.tar.gz matomo_backup_database.sql

恢复备份的数据库转储

您可以使用phpmyadmin导入之前创建的文件,或者执行以下命令恢复DB备份:

$ time mysql MATOMO_DATABASE_NAME -uMATOMO_DATABASE_USERNAME -p < matomo_backup_database.sql

这将在数据库中创建十多个Matomo表,并恢复所有数据。

注意:如果您在“测试”实例中恢复备份,您可能会感兴趣禁用所有电子邮件通知。

高级:在写入器/读取器配置中设置Matomo时(DB复制)

有几种策略可以备份你的Matomo MySQL数据库。使用的最佳策略取决于数据库的设置方式。推荐的设置是在一个未使用的从副本或读副本上进行完全备份(当MySQL数据库使用主-从或主-主复制时)。作为参考,一个5GB的DB备份大约需要2分钟,恢复大约需要12分钟。

多DB节点:在DB从/读副本上使用mysqldump

建议使用复制的MySQL数据库(主-从或主-主复制)运行Matomo。为了不影响主数据库的性能,MySQL备份是在数据库的读副本(从)上进行的。在从/读副本上使用的mysqldump命令与在下一节中找到的相同。

单DB节点与大数据库:使用Percona XtraBackup。

当您使用单个数据库服务器并在Matomo中跟踪大量数据(每月1M+操作)或当您的数据库大于10Gb时,使用mysqldump可能不是一个合适的解决方案,因为它可能会对整个系统的性能产生负面影响。

在这种情况下,建议使用开源工具Percona XtraBackup代替。

下一个常见问题如何恢复MySQL数据库?
Baidu