我有本地MySQL数据库偶尔会发生变化,当它发生变化时我想与远程数据库同步。我正在使用PhpMyAdmin的同步选项。
我已授权所有IP远程连接。
问题: 当我想使用PhpMyAdmin的同步选项将远程数据库与本地数据库同步时。它只显示数据库结构的差异,但两个数据库的数据也不同,但没有显示出差异。
当我通过单击Synchronize Database
按钮同步数据库并再次执行同步时。它再次显示了相同的结构同步。
见下图
如果有人有替代方案,请告诉我们。 本地详情 操作系统:Windows7 软件:EasyPHP12.0 远程详细信息 服务器:Linux Cpanel phpMyAdmin的
答案 0 :(得分:13)
打开phpMyAdmin/config.inc.php
并添加关于“服务器配置”的这些行。
$i++;
$cfg['Servers'][$i]['host'] = '<remote-server-address>'; // Remote MySQL hostname or IP address
$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension'] = 'mysql'; // The php MySQL extension to use ('mysql' or 'mysqli')
$cfg['Servers'][$i]['compress'] = FALSE; // Use compressed protocol for the MySQL connection
$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = '<db-username>'; // Remote MySQL user
$cfg['Servers'][$i]['password'] = '<db-password>'; // Remote MySQL password
现在phpMyAdmin首页上有一个'服务器'下拉列表。选择你的服务器和宾果!
并且,有很多例子,可能有帮助:
答案 1 :(得分:2)
我的回答与PhpMyAdmin无关,但无论如何,我建议您在dbForge Studio for MySQL中使用Schema/Data comparison tools。这些工具将帮助您查找,查看差异并同步两个数据库。
如果您无权访问远程数据库,则可以使用HTTP隧道连接,或使用SSL / SSH安全连接。
答案 2 :(得分:1)
尝试使用SQLyog作业代理(SJA)在Windows上,它可以获得屡获殊荣的MySQL GUI SQLyog。 Linux版SJA是免费的,可以从webyog.com下载
答案 3 :(得分:0)
在创建表时,我会让远程服务器使用偶数,并让本地服务器为自动增量添加奇数。 然后有一个脚本在服务器之间提取或推送数据而没有任何重复的问题。
答案 4 :(得分:0)
我不明白为什么你不会只更新遥控器并将所有本地数据库丢弃。建议:您可能需要设置两个遥控器 - EX:dev.domain.com,www.domain.com。将本地代码链接到dev并更新/测试然后当你想要生成只在www DB上的数据转储开发时。当本地数据库关闭时,安全和后备准备就绪。