我需要知道如何定期备份MySQL数据库并将备份下载到我的本地服务器。我正在使用Navicat,它有一个易于使用的备份界面和任务调度功能,但它备份数据库并将备份存储在服务器上。我希望有一种方法可以在备份完成后将其下载到我的本地系统,而不是将其保留在与数据库相同的服务器上。
设置一个服务器 cron,每隔一段时间(例如24小时)运行 mysqldump 命令。
mysqldump -hMY_HOST.COM -uDB_USERNAME -pDB_PASSWORD USERNAME_DATABASENAME > MysqlDump.sql
创建完备份文件后,设置另一个cron任务将该备份复制到目标服务器(最好是本地服务器),并与上面cron任务执行的间隔相同。
scp user@MY_HOST.COM:/some/path/file user2@MY_HOST2.COM:/some/path/file
注意:这些命令可能会导致服务器负载过高(请确保在服务器负载最小的情况下执行)
除了mysqldump之外,还有一些其他备份选项。这些主要是为了解决mysqldump导致的高负载/长重载时间问题。
你应该尝试使用mydumper - https://answers.launchpad.net/mydumper/+faq/338
它有一个守护进程模式,可以定期为您备份,并由一些优秀的MySQL工程师开发。我相信它被称为DBA所想象的mysqldump ; )