同步本地数据库和Web服务器数据库MySql中
我使用PHP和MySQL开发应用程序。我们有两个数据库副本,一个在本地服务器(即我们的结尾),另一个在Web服务器。我们希望同步两个数据库,以便在本地数据库中进行的任何更改也应该反映在Web服务器数据库上。那可能吗?? 目前我们正在使用PHP脚本来做这件事......这需要花费太多时间和不可靠。 可以做些什么以使MySQL在内部激发整个更新和逻辑?我们的本地服务器运行在Windows上,而Web服务器是基于Unix的,并且我们不使用命令行来访问这两台机器,实际上我们使用PHP应用程序来更新和维护数据(即添加新的或更新数据)同步本地数据库和Web服务器数据库MySql中
MySQL Replications可能是你在找什么,但是我不建议同步开发和生产数据库。在网页发布后继续开发时,这可能会让您有麻烦。常见的方法是有一个用于开发的服务器(虚拟数据,不是公开的),测试(真实数据,不是公开的)和生产(真实数据,公共)。
编辑:我认为一个Web服务器也是一个高手。
在这种情况下,顺便看看replication in MySQL作品;它将简单地将推送到本地数据库的数据复制到网络服务器。
我认为这是主从当地存在主机和网络服务器是从实际..在我第一次在系统上这样工作 – 2010-10-20 11:40:18
将数据与Web服务器数据库本地数据库MySql中,您可以通过使用复制实现这一功能。在这里我有一些SQL命令来执行复制
1)。在这里你需要两台电脑,如果你是为了测试目的离线进行的,第一台电脑将是你的主设备,而另一台将作为从设备。
2)。检查机器的IP地址。 3)。 192.168.1.20
机2: - - :192.168.1.21
,然后打开你的Mysql和启动上输入这些命令,我有两个以下这些电脑
机1执行它在localhost两台机器下面
---------------- Commands for SERVER-1 ------------------
IP-Address e.g. = 192.168.1.20
---------------------------------------------------------
CREATE USER 'server1'@'%' IDENTIFIED BY '12345';
GRANT REPLICATION SLAVE ON *.* TO 'server1'@'%' IDENTIFIED BY '12345';
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
UNLOCK TABLES;
---------------- Commands for SERVER-2 -----------------
IP-Address e.g. = 192.168.1.21
--------------------------------------------------------
STOP SLAVE;
RESET SLAVE;
CHANGE MASTER TO
MASTER_HOST = '192.168.1.20',
MASTER_USER = 'server1',
MASTER_PASSWORD = '12345',
MASTER_PORT = 3306,
MASTER_LOG_FILE = 'Type_your_log_file_name',
MASTER_LOG_POS = TYPE_YOUR_LOG_POSITION_HERE,
MASTER_CONNECT_RETRY = 10,
START SLAVE;
SHOW SLAVE STATUS \G;
虽然此链接可以回答这个问题,最好是包括的主要部分在这里回答并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 – 2015-06-16 10:03:08
谢谢你的建议@NarendraSisodia。现在检查出来,我更新了整个答案现在很好? – 2015-08-19 05:36:24
给出请添加详细信息...什么平台/操作系统...您是否有两台机器的命令行访问.... – 2010-10-20 11:32:59
@Pekka有任何问题,如果我们使用PHP脚本比使用MySQL复制? – 2010-10-20 11:42:56