远程备份MySQL数据库

时间:2010-09-02 21:39:36

标签: mysql backup

我们的Java服务器应用程序将数据记录到SQL数据库中,该数据库可能在同一台计算机上,也可能不在同一台计目前我们使用MS SQL Server,现在我们正在移植到MySQL。用户在我们的应用服务器上配置数据库备份参数,例如运行备份的时间,应用服务器通过sproc在适当的时间执行SQL Server的BACKUP DATABASE命令。它每天进行增量备份,每周进行完整备份。

MySQL没有相同的功能来告诉数据库从客户端连接回来自己。我们正在考虑的选项是:

  • 创建一个UDF来shell到mysqldump(或复制数据库文件),可以通过sproc从我们的应用服务器调用。基本上我们将为MySQL实现一个版本的BACKUP DATABASE。
  • 创建一个在MySQL框上运行的服务,该服务可以从应用服务器获取备份设置,并在本地运行mysqldump(或文件副本)。
  • 创建一个备用sproc来模仿mysqldump,例如:为每个表显示创建表和SELECT INTO OUTFILE。

设置一个cron作业,Perl脚本,第三方应用程序或其他在数据中心中运行良好的技巧不是首选;这是一个收缩包装,需要非常强大和放手。

数据库大小可以从大约10MB到10GB不等。

我知道增量部分的二进制日志。我认为如果我们决定使用它们,通用解决方案也可能适用于它们。

这一切都在Windows 2003 32位或2008R2 64位,MySQL 5.1上。

UDF选项对我来说似乎是最好的。 UDF存储库(http://www.mysqludf.org/)有mysqludf_sys,这可能就是我们所需要的,但我想我会征求意见,因为经过广泛的谷歌搜索似乎没有其他人得出相同的结论,或者我们的需求只是与众不同。我们的应用程序是MySQL中唯一的应用程序,因此我并不担心其他用户可以访问我们的UDF。

我忽略了任何解决方案?是否有以这种方式使用UDF的经验?

谢谢, 埃里克

1 个答案:

答案 0 :(得分:0)

由于其他原因,我们决定将我们的应用程序与数据库并置,所以这个问题没有实际意义。