我需要知道如何定期备份我的MySQL数据库,并将备份下载到本地服务器。 我正在使用navicat,它有一个简单的备份界面和任务计划设施,但它备份数据库并将备份存储在服务器本身。 我想有一种方法可以将备份一次下载到本地系统,而不是将它们与数据库放在同一台服务器上。
正如其他人已经注意到 – 你将需要在MySQL机器上安装一些软件来做这些备份。 Navicat只是一个客户端 – 它不能在服务器上运行预定的备份。
有很多软件可以为你做到这一点 – 他们中的一些直接从MySQL DB备份。
免费的解决scheme是“推出自己的”数据库备份。 这很大程度上取决于您的操作系统。
Linux – 创build一个shell脚本在你想备份的数据库上执行mysqldump,然后通过scp,ftp或者电子邮件(如果你家里没有ssh和ftp基础设施)把这个备份发送到你的家用电脑上。
Windows – 创build一个计划任务,将MySQL数据库备份到共享目录,或者设置一个命令行脚本来备份数据库和电子邮件,ftp或scp到您的本地电脑。
如果您在服务器上安装了PHP,则可以在任一操作系统上使用以下指示信息:
http://www.sematopia.com/?p=61
有很多方法来剥皮这只猫!
聪明的举动 – 如果你有一个本地的linux服务器,ssh / scp,shared keys和mysqldump是一个明显的方法。
即使你的本地备份服务器是一个Windows系统,也不会太难。
如果备份已经在服务器上完成(?),那么你所需要的就是每晚都检查它们,除非couyrse是巨大的,而你正在寻找差异备份,这对于SQL来说有点困难。
我会在远程主机上设置一个rsync服务器。
如果它是一个内部networking简单的rsync与密码选项应该是足够的
如果它通过公共连接,通过ssh(使用公钥authentication)或OpenVPN与远程rsync服务器只侦听安全的IP
如果你可以安装backupninja它将转储,并可以通过rsync,scp和ftp发送到另一台主机。它也将发送详细的电子邮件报告。
您也可以使用mysqldump命令在本地执行备份,并将输出传输到文件。 这不是数据的真正二进制副本,而是表中所有数据的副本。
我有一个cron作业,用mysqldump将数据库转储到由TSM备份的目录中。 如果你已经有了一个很好的networking备份系统,我会说不pipe怎么说。
如果没有,我会去与rsync + mysqldump。 您可以将mysqldump设置为转储到一个目录,然后运行rsync将转储移到其他服务器。