【发布时间】:2013-11-11 15:03:51
【问题描述】:
我正在用 PHP 和 MySql 为我的客户端创建一个软件,该软件将在本地网络中运行,该软件也应该在线运行,即所有数据都应该在线查看,我想知道是否有一种在连接互联网时将 mysql 数据库从本地更新为在线的方法,如果未连接互联网,所有数据将存储在本地 mysql 服务器中。他们不会在在线服务器中添加任何数据,他们只会查看内容。请在这方面帮助我
【问题讨论】:
标签: php mysql database mirroring
我正在用 PHP 和 MySql 为我的客户端创建一个软件,该软件将在本地网络中运行,该软件也应该在线运行,即所有数据都应该在线查看,我想知道是否有一种在连接互联网时将 mysql 数据库从本地更新为在线的方法,如果未连接互联网,所有数据将存储在本地 mysql 服务器中。他们不会在在线服务器中添加任何数据,他们只会查看内容。请在这方面帮助我
【问题讨论】:
标签: php mysql database mirroring
听起来您正在寻找一种方法来拥有一个只读的“在线”(假设是 WAN)MySQL 服务器,该服务器是从读写更新的“离线”(LAN)MySQL 服务器更新的用户。
如果是这种情况,您可能需要考虑主/从 MySQL 复制配置: http://www.rackspace.com/knowledge_center/article/mysql-replication-masterslave
【讨论】:
您可以在本地服务器上运行 cron 作业,当互联网可用时,该作业会监控并上传数据到在线服务器。您需要跟踪(设置状态)哪些数据已上传哪些不用于同步
【讨论】:
在您的 mysql 数据库之间设置复制。本地网络数据库将是从服务器,Web 服务器将是主服务器。
请参阅http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html 了解设置复制。
【讨论】:
我建议您设置主/从复制。 我会让本地服务器成为主服务器,互联网服务器成为从服务器。 但是,如果您使用的是公共共享托管服务,我不太确定您是否有权设置此类数据库复制结构。
试试https://www.digitalocean.com/community/articles/how-to-set-up-master-slave-replication-in-mysql。但是,对于 5.6 之前的 mysql 版本(我认为),您不能从预定义的时间间隔延迟复制。但是,http://alexalexander.blogspot.com/2013/03/mysql-slave-delay-how-to.html 建议使用一种叫做 percona 工具包的东西。不过我没用过。
【讨论】: