如何备份和恢复Matomo数据?
可以使用以下命令轻松地备份和恢复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数据库?