我需要知道如何定期备份我的 MySQL 数据库并将备份下载到我的本地服务器。我正在使用 navicat,它有一个简单的备份界面和任务计划功能,但它备份数据库并将备份存储在服务器本身上。我希望有一种方法可以将备份下载到我的本地系统,而不是将它们与数据库放在同一个服务器上。
答案1
正如其他人所指出的 - 您需要在 MySQL 机器上安装一些软件来进行这些备份。Navicat 只是一个客户端 - 它无法在服务器上运行计划备份。
有许多软件可以为您做到这一点 - 其中一些直接从 MySQL DB 备份。
免费的解决方案是“自行”进行数据库备份。这在很大程度上取决于您的操作系统。
Linux - 创建一个 shell 脚本来在您想要备份的数据库上执行 mysqldump,然后通过 scp、ftp 或电子邮件将此备份发送到您的家用电脑(如果您家中没有 ssh 和 ftp 基础设施)。
Windows - 创建一个计划任务来将 mysql db 备份到共享目录,或者设置一个命令行脚本来备份 DB 并通过电子邮件、ftp 或 scp 将其发送到本地电脑。
如果您的服务器上安装了 PHP,则可以针对任一操作系统使用以下说明:
http://www.sematopia.com/?p=61
解决这一难题的方法有很多种!
答案2
明智之举 - 如果您有本地 Linux 服务器,那么 ssh/scp、共享密钥和 mysqldump 就是显而易见的选择。
即使您的本地备份服务器是 Windows 机器,它也不应该太难。
如果服务器上已进行备份,那么您所需要做的就是每晚将它们 scp 掉,除非它们非常庞大,而您希望进行差异备份,但这对于 SQL 来说有点困难。
答案3
我已在远程主机上设置一个 rsync 服务器。
如果是内部网络,使用密码选项的简单 rsync 就足够了
如果通过公共链接,则可以通过 ssh(使用公钥认证)或 OpenVPN,远程 rsync 服务器只监听安全 IP
答案4
您还可以使用 mysqldump 命令在本地执行备份,并将输出传输到文件。这不是数据的真正二进制副本,而是表中所有数据的副本。