2010-04-16 44 views
0

我有一个应用程序应该在单个本地计算机(信息亭显示器)上运行,但我希望让用户进行更改的选项(来自任何PC)并在本地PC(信息亭显示器)上更新实例。从我的想象中,Web服务器上的MySQL实例将只替换本地(信息亭显示器)机器上的MySQL实例。这可以每晚进行一次(不一定是瞬间的)。如何 - 从Web服务器到本地机自动备份和恢复MySQL数据库

有谁知道一种方法来做到这一点?我对产品开放或自己编码...

我会感谢任何信息或头脑风暴。

谢谢。

回答

0

如果客户有固定的IP地址,你可以这样做:

  • 创建于服务器MySQL用户账户,让他们只从一个特定的IP范围内登录,给他们SELECT特权

  • 客户端PC上安装

    MySQL客户端二进制文件

  • 使用cron或Windows任务计划做一个远程mysqldump

    mysqldump -u username -h remote.server.com databasename > dump.txt 
    mysql -u local_username -h localhost databasename < dump.txt 
    

这不是一个完美的解决方案 - 通常的共识是有mysql不能从外面进行访问。但是如果你有固定的IP地址,也可以调整防火墙来调整这些IP地址的连接,那肯定是最简单的解决方案。

一个更安全的解决方案可能是:

  • 使用服务器端脚本语言来构建数据库本地转储,并将其存储在一个已知的目录

  • 在客户端安装wget二进制

  • 让客户端wget调用创建转储的服务器端脚本(例如作为网页)

  • 当页面完成下载(=转储完成)时,启动另一个wget,将FTP传输到服务器(当然权限非常有限),并获取刚创建的数据转储,或者为了安全性,使用安全协议sftp或scp/ssh。 Putty为此目的具有Windows二进制文件。

+0

感谢Unicron。这是一些很好的信息,我真的很感激信息。我会采取一个更安全的选择。 – Rhepungus 2010-04-28 17:38:08

相关问题